ユーザーがマウス/Googleズームツール(マップの左上、zoomControl)からズームを変更したため、またはGoogleのいくつかの機能(directionDisplay.setDirections、または境界など)の後に変更されたためにズームが変更されたかどうかを知りたい:
google.maps.event.addListener(map, 'zoom_changed', function () {
if (CONDITION) {
}
});
出来ますか?
ユーザーがマウス/Googleズームツール(マップの左上、zoomControl)からズームを変更したため、またはGoogleのいくつかの機能(directionDisplay.setDirections、または境界など)の後に変更されたためにズームが変更されたかどうかを知りたい:
google.maps.event.addListener(map, 'zoom_changed', function () {
if (CONDITION) {
}
});
出来ますか?
プログラムがズームを変更するアクションを実行するときにグローバル フラグを設定することで、プログラムが実行したアクションに基づいてズームが変更されたかどうかを検出し、そのアクションが完了したときにそれをクリアします (zoom_changed イベント ハンドラーまたはアイドル イベント ハンドラーのいずれかで)。 )。
フラグが設定されていない場合、ズームはユーザーの操作によって発生しました。
おそらくidle、ユーザーがパンまたはズームした後に発生する「キャッチオール」イベントであるイベントをリッスンする必要があります (一度だけ発生します)。zoom_changedズーム レベルが変化したときに発生するイベントもあります。ここですべてのマップ イベントを参照してください。
少なくともカスタムズームコントロールを構築せずに、ズームがユーザーの介入によるものか、Google Maps API関数によるものかを「知る」方法を知りません。