私はGMapsAPIv3を使用しており、2つのGoogleマップが並んでいます。左側のマップをX、右側のマップをYと呼びましょう。私の質問は、ユーザーがXをドラッグしたときにYをドラッグさせることができるかどうかです。
グーグルマップでドラッグイベントを検出する方法を知っていますが、あるマップから別のマップにドラッグを適用する方法はありますか?
ありがとう!
私はGMapsAPIv3を使用しており、2つのGoogleマップが並んでいます。左側のマップをX、右側のマップをYと呼びましょう。私の質問は、ユーザーがXをドラッグしたときにYをドラッグさせることができるかどうかです。
グーグルマップでドラッグイベントを検出する方法を知っていますが、あるマップから別のマップにドラッグを適用する方法はありますか?
ありがとう!
同様の機能が欲しかったのですが、ズームもミラーリングする必要がありました。
ご想像のとおり、受け入れられた回答と非常によく似ています。
google.maps.event.addListener(map, 'bounds_changed', (function () {
map2.setCenter(map.getCenter());
map2.setZoom(map.getZoom());
}));
そして、ここにそれを示す JSFiddle があります: http://jsfiddle.net/LREfU/
これが私が試みることです:あなたのドラッグイベントでは、 XgetCenter()
で使用し、その緯度経度をYで使用します。マップ API の「bounds_changed」イベントを使用していると仮定しています。setCenter()
更新:次のようなもの:
//X and Y are map objects
google.maps.event.addListener(X, 'bounds_changed', (function () {
Y.setCenter(X.getCenter());
}));
setTimeout
ユーザーが X のドラッグを停止したことを検出し、Y の中心を設定するロジックを追加することもできます。