0

ユーザーがマウス/Googleズームツール(マップの左上、zoomControl)からズームを変更したため、またはGoogleのいくつかの機能(directionDisplay.setDirections、または境界など)の後に変更されたためにズームが変更されたかどうかを知りたい:

google.maps.event.addListener(map, 'zoom_changed', function () {
    if (CONDITION) {

    }
});

出来ますか?

4

2 に答える 2

2

プログラムがズームを変更するアクションを実行するときにグローバル フラグを設定することで、プログラムが実行したアクションに基づいてズームが変更されたかどうかを検出し、そのアクションが完了したときにそれをクリアします (zoom_changed イベント ハンドラーまたはアイドル イベント ハンドラーのいずれかで)。 )。

フラグが設定されていない場合、ズームはユーザーの操作によって発生しました。

于 2012-10-04T22:00:02.683 に答える
0

おそらくidle、ユーザーがパンまたはズームした後に発生する「キャッチオール」イベントであるイベントをリッスンする必要があります (一度だけ発生します)。zoom_changedズーム レベルが変化したときに発生するイベントもあります。ここですべてのマップ イベントを参照してください。

少なくともカスタムズームコントロールを構築せずに、ズームがユーザーの介入によるものか、Google Maps API関数によるものかを「知る」方法を知りません。

于 2012-10-04T16:32:42.050 に答える