在谷歌地图边缘附近拖动标记时如何禁用”自动平移”?

How to disable "auto panning" when dragging a marker near edge of Google Maps?

基本上我不希望地图在有人拖动标记时自动开始平移。今天,每当有人在地图边缘附近拖动标记时,地图就会开始平移,当他们超出地图画布的边界时,甚至会继续平移。

很确定这种"自动"平移是任何具有可拖动标记和"正常"平移功能的地图(Google javascript Maps API 3.x)的默认设置。

我想保留使用鼠标平移地图的功能,但我需要禁用当有人在地图边缘附近拖动标记时发生的"自动"平移。 (还需要保留可拖动的标记)。

提前致谢。


使用标记的 dragstartdragend 事件来打开和关闭地图的可拖动属性。地图对象没有 setDraggable 方法,因此您需要使用 set 方法。

1
2
3
4
5
6
google.maps.event.addListener(marker, 'dragstart', function(){
    map.set('draggable', false);
});
google.maps.event.addListener(marker, 'dragend', function(){
    map.set('draggable', true);
});