移除Google Maps V3标记拖动动画?

4
当我拖动标记时,它会稍微抬起一点,并显示一个倾斜的X来表示拖动位置。是否有任何方法可以完全消除这个?我有自定义标记,并希望以不同的方式显示它们的拖动状态。
4个回答

8
你可以将标记的属性raiseOnDrag设置为false。
var marker = new google.maps.Marker({
  draggable: true,
  map: map,
  raiseOnDrag: false
});

然后您可以使用ScottE的解决方案来创建自定义拖动效果。

raiseOnDrag仍然是一个未记录的属性。请自行决定使用风险。 - MrUpsidown

4

-1

你还需要在拖拽结束事件上将原始图像切换回来。

完整的代码如下:

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});
});

这个代码使用了未公开的属性,而且没有回答问题。 - MrUpsidown

-1

我还没有找到任何东西,如果在接下来的一周里我仍然不得其解,我将接受您的答案。谢谢。 - Flarex
这仍然是被接受的答案,尽管它并没有回答 OP 的问题,而已经过去了5年。 - MrUpsidown
因为另一个回答显示了 API,所以进行了负投票。 - matthewdaniel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接