6

是否可以在我拖动标记时禁用 google mal (v3) 内部的移动?我不想使用即静态地图。我需要移动的一般功能,但是在我拖动标记的那一刻,地图不应该移动。

非常感谢!

4

2 回答 2

17

标记有dragstart 和 dragend 事件。开启时,通过将各种MapOptions设置为(如、等)来禁用dragstart地图上的“移动”功能。开启时,将 MapOptions 设置回。falsedraggablescrollwheeldragendtrue

这是一个可用于禁用或启用基于布尔值的地图移动的函数。它假设您的 Map 变量是map.

function disableMovement(disable) {
    var mapOptions;
    if (disable) {
        mapOptions = {
            draggable: false,
            scrollwheel: false,
            disableDoubleClickZoom: true,
            zoomControl: false
        };
    } else {
        mapOptions = {
            draggable: true,
            scrollwheel: true,
            disableDoubleClickZoom: false,
            zoomControl: true
        };
    }
    map.setOptions(mapOptions);
}

然后你在你的事件中使用它(marker是你的 Marker 变量):

google.maps.event.addListener(marker, 'dragstart', function() {
    disableMovement(true);
});

google.maps.event.addListener(marker, 'dragend', function() {
    disableMovement(false);
});
于 2012-09-21T21:57:37.220 回答
3

gmap.setOptions({'scrollwheel': false});

于 2014-01-26T15:03:18.057 回答