【问题标题】:How to disable "auto panning" when dragging a marker near edge of Google Maps?在谷歌地图边缘附近拖动标记时如何禁用“自动平移”?
【发布时间】:2012-03-23 22:57:45
【问题描述】:

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

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

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

提前致谢。

【问题讨论】:

    标签: google-maps google-maps-api-3


    【解决方案1】:

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

    google.maps.event.addListener(marker, 'dragstart', function(){
        map.set('draggable', false);
    });
    google.maps.event.addListener(marker, 'dragend', function(){
        map.set('draggable', true);
    }); 
    

    【讨论】:

    • 甜蜜。谢谢。我只是希望拥有大量事件侦听器不会出现性能问题。我的地图通常有大约 60-120 个标记。
    • 60-120 个标记肯定不会引入任何性能问题。性能基准从 1000 多个标记开始。
    猜你喜欢
    • 2012-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-10
    • 1970-01-01
    • 2017-09-21
    • 2014-08-28
    • 2013-09-13
    相关资源
    最近更新 更多