2011-07-13 71 views
4

當我拖放一個標記時,它會稍微擡起一點,並在其下面出現一個傾斜的X來表示拖動位置。刪除Google Maps V3標記拖動動畫?

無論如何要完全擺脫這個嗎?我有自定義標記,並希望以不同的方式顯示其拖動狀態。

回答

-1

我不相信這是可能的。您可以更改dragstart/dragend上的標記,但這不會更改顯示在下方的「x」。

這裏是拖動時改變標記的一個例子:

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

當你在看圖片,你會看到「X」是不是PNG的一部分。

+0

我還沒有發現任何東西,如果我還在穿了損失下週我會接受你的回答。謝謝 – Flarex

+0

5年後,這仍然是公認的答案,雖然它不回答OP問題。 – MrUpsidown

+0

由於有其他回答顯示的API而投下投票 – matthewdaniel

6

您可以標記raiseOnDrag的屬性設置爲false

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

然後你可以使用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