2011-07-13 8 views

答えて

-1

私はこれが可能ではないと思います。 dragstart/dragendでマーカーを変更できますが、下に表示されている 'x'は変更されません。あなたが画像を見てみると、あなたが「X」PNGの一部ではないことがわかります

http://gmaps-samples-v3.googlecode.com/svn/trunk/draggable-markers/draggable-imagechange.html

:ここ

は、ドラッグしたときにマーカーを変更する例です。

+0

に文書化されていません、私はスルーアウト損失ではまだだ場合、私は、どちらか何かを発見していません来週、私はあなたの答えを受け入れます。ありがとうございます – Flarex

+0

これはまだOPの質問に答えることはできませんが、これはまだ受け入れられた答え、5年後です。 – MrUpsidown

+0

他の回答が表示されているので、apiがあるので、投票が無効になります – matthewdaniel

6

あなたは偽

var marker = new google.maps.Marker({ 
    draggable: true, 
    map: map, 
    raiseOnDrag: false 
}); 

にマーカーraiseOnDragのプロパティを設定することができます。そして、あなたはカスタムのドラッグ効果を作成するためにScottEソリューションを使用することができます。

+0

'raiseOnDrag'はまだ文書化されていないプロパティです。あなたの責任において使用してください。 – MrUpsidown

-1

また、元のイメージをdragendイベントで元に戻す必要があります。

完全なコードは次のようである:

myArrow   = new google.maps.MarkerImage("defaultIcon.png"); 
myArrowDrag  = new google.maps.MarkerImage("draggingIcon.png"); 

myMarker = new google.maps.Marker({ 
    position : new google.maps.LatLng(myLat, myLng), 
    map   : map, 
    icon  : myArrow, 
    draggable : true, 
    raiseOnDrag : false 
}); 

google.maps.event.addListener(myMarker, 'dragstart', function() { 
    myMarker.setOptions({icon: myArrowDrag}); 
}); 
google.maps.event.addListener(myMarker, 'dragend', function() { 
    myMarker.setOptions({icon: myArrow}); 
}); 
+0

これは、文書化されていないプロパティを使用+ OPの質問に答えることはありません。 – MrUpsidown

2

raiseOnDragは、現在のAPIバージョン(3.17)で文書化されていません。代わりにcrossOnDragプロパティがあります。

crossOnDragboolean - falseの場合、ドラッグするとマーカーの下に表示される十字形を無効にします。このオプションはデフォルトでtrueです。

https://developers.google.com/maps/documentation/javascript/reference#MarkerOptions


編集(2016年9月):raiseOnDragはまだ3.25

関連する問題