當我拖放一個標記時,它會稍微擡起一點,並在其下面出現一個傾斜的X來表示拖動位置。刪除Google Maps V3標記拖動動畫?
無論如何要完全擺脫這個嗎?我有自定義標記,並希望以不同的方式顯示其拖動狀態。
當我拖放一個標記時,它會稍微擡起一點,並在其下面出現一個傾斜的X來表示拖動位置。刪除Google Maps V3標記拖動動畫?
無論如何要完全擺脫這個嗎?我有自定義標記,並希望以不同的方式顯示其拖動狀態。
我不相信這是可能的。您可以更改dragstart/dragend上的標記,但這不會更改顯示在下方的「x」。
這裏是拖動時改變標記的一個例子:
http://gmaps-samples-v3.googlecode.com/svn/trunk/draggable-markers/draggable-imagechange.html
當你在看圖片,你會看到「X」是不是PNG的一部分。
您可以標記raiseOnDrag的屬性設置爲false
var marker = new google.maps.Marker({
draggable: true,
map: map,
raiseOnDrag: false
});
然後你可以使用SCOTTE解決方案來創建一個自定義的拖累作用。
'raiseOnDrag'仍然是一個無證材料。請自擔風險使用。 – MrUpsidown
您還需要將原始圖像切換回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});
});
這使得使用未記錄的屬性+不回答OP問題。 – MrUpsidown
raiseOnDrag
當前API版本(3.17)是未公開。相反,有一個crossOnDrag
屬性:
crossOnDrag
:布爾值 - 如果爲false,則禁用拖動時出現在標記下方的交叉。該選項默認爲true。
https://developers.google.com/maps/documentation/javascript/reference#MarkerOptions
編輯(2016年9月):raiseOnDrag
仍然無證3.25
我還沒有發現任何東西,如果我還在穿了損失下週我會接受你的回答。謝謝 – Flarex
5年後,這仍然是公認的答案,雖然它不回答OP問題。 – MrUpsidown
由於有其他回答顯示的API而投下投票 – matthewdaniel