ズームGoogleマップAPIを個別のズームに制限できますか?つまり、ズーム2と6のみを使用でき、2-3-4-5-6は使用できません。最小ズームと最大ズームがあることを確認しましたが、ズームが1つだけの範囲に収まるようにしたくありません。
よろしく、ヨッシ
ズームGoogleマップAPIを個別のズームに制限できますか?つまり、ズーム2と6のみを使用でき、2-3-4-5-6は使用できません。最小ズームと最大ズームがあることを確認しましたが、ズームが1つだけの範囲に収まるようにしたくありません。
よろしく、ヨッシ
これを模倣することしかできません。APIでは、ズームを見逃すことはできません。
zoom_changed
イベントは、変更について何も通知しなくなりました。バージョン2では、古いズームレベルと新しいレベルを知ることができました。
したがって、バージョン3では推測する必要があります。
ズーム2にいて、ユーザーがズームインすると、APIはズーム3に移動します。したがって、zoom_changed
イベントをインターセプトして、マップがレベル3になったかどうかをテストし、レベル6にすることができます。他の方向:マップをレベル5(6から)にする必要がある場合は、2にします。
// Untested code
google.maps.event.addListener(map,'zoom_changed',function () {
if (map.getZoom() == 3) map.setZoom(6);
if (map.getZoom() == 5) map.setZoom(2);
});
ユーザーがズームスライダーを使用して2から5に直接移動する場合、これは役に立たないことに注意してください。イベントハンドラーは、現在のズームを5と見なし、1ステップ(6から)だけ移動したと想定して2に戻します。スライダーを使用してズーム4を取得する場合も、役に立ちません。これらの状況で何が起こるかを決定する必要があります。スライダーのない限られたマップコントロールのセットを使用することをお勧めします。
マップをクリックすると、関数getZoom()を使用できます。ズームレベルが変更されているかどうかを確認します。次に、setZoomを使用して適切なズームレベルを設定します。ヘルプについては、ここをクリックしてください
Zoom_changedイベントのリスナーを追加し、ズームを確認し、ズームが2に近いか6に近いかに応じてズームを設定できます。
('map'変数がマップのインスタンスを保持していると仮定します)
google.maps.event.addListener(map, 'zoom_changed', function() {
var currentZoom = map.getZoom();
if (currentZoom !== 2 && currentZoom !==6) {
if (currentZoom <=4) {
map.setZoom(2);
} else {
map.setZoom(6);
}
}
});