マーカーをドラッグしている間、google mal(v3)の内部で移動を無効にすることは可能ですか? 私は静的マップを使用したくありません。私は一般的な動きの機能が必要ですが、マーカーをドラッグする瞬間にはマップは動かないようにしてください。可動Gmapを無効にする
ありがとうございます!
マーカーをドラッグしている間、google mal(v3)の内部で移動を無効にすることは可能ですか? 私は静的マップを使用したくありません。私は一般的な動きの機能が必要ですが、マーカーをドラッグする瞬間にはマップは動かないようにしてください。可動Gmapを無効にする
ありがとうございます!
マーカーはdragstart and dragend eventsです。 dragstart
で、draggable
,scrollwheel
などのMapOptionsをfalse
に設定して、マップ上の「移動」機能を無効にします。dragend
で、MapOptionsをtrue
に戻します。
ここでは、ブール値に基づいてマップの移動を無効または有効にする機能を使用できます。マップ変数はmap
と仮定しています。
google.maps.event.addListener(marker, 'dragstart', function() {
disableMovement(true);
});
google.maps.event.addListener(marker, 'dragend', function() {
disableMovement(false);
});
gmap.setOptions({ 'スクロールホイール':偽})
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);
}
そして、あなたはこのようなあなたのイベントでこれを使用します(は、あなたのマーカー変数です)。
Ok - 地図の移動を無効にする属性ですか。 – Thomas1703
@ Thomas1703これは本当にMapOptionsの組み合わせです。 'draggable'を' false'に設定すると、例えばパンニングが無効になります。 'scrollwheel'を' false'に設定すると、ズームするためにマウスのスクロールホイールの使用を無効にします。 'disableDoubleClickZoom'は、ユーザーがズームするためにマウスをダブルクリックできないようにするため、' true'に設定します。そして、完全性のために、マップ上のズームコントロールが隠されるように 'false'に設定することによって' zoomControl'を無効にしてください。これらのすべてが一緒にマップを移動するユーザーを制限する必要があります。 draggendでは、これらの属性をすべてデフォルト値に戻します。どのMapOptionsを設定するかを知るためにドキュメントを読んでください。 – Gady
@ Thomas1703私はsetOptionsメソッドを使っていくつかのコード例で私の答えを更新しました。 – Gady