当我拖动标记时,它会稍微抬起一点,并显示一个倾斜的X来表示拖动位置。是否有任何方法可以完全消除这个?我有自定义标记,并希望以不同的方式显示它们的拖动状态。
var marker = new google.maps.Marker({
draggable: true,
map: map,
raiseOnDrag: false
});
raiseOnDrag
在当前API版本(3.17)中未记录。相反,有一个crossOnDrag
属性:
crossOnDrag
: 布尔值 - 如果为false,则禁用拖动时出现在标记下方的十字架。默认情况下,此选项为true。
https://developers.google.com/maps/documentation/javascript/reference#MarkerOptions
编辑(2016年9月):raiseOnDrag
在3.25中仍未记录
你还需要在拖拽结束事件上将原始图像切换回来。
完整的代码如下:
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});
});
我不相信这是可能的。你可以在dragstart / dragend上改变标记,但这并不会改变出现在下面的'x'。
这里有一个在拖动时更改标记的示例:
http://gmaps-samples-v3.googlecode.com/svn/trunk/draggable-markers/draggable-imagechange.html
当您查看图像时,您会发现“x”不是png的一部分。
raiseOnDrag
仍然是一个未记录的属性。请自行决定使用风险。 - MrUpsidown