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はマーカー変数です):

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 に答える