GoogleMap API v3でのイベントの追加と削除について
GMapインスタンスを生成
2 | center: new google.maps.LatLng(35, 135), |
6 | var map = new google.maps.Map(document.getElementById( "map" ), myOptions); |
例1)「zoom_changed」イベントを追加します。
1 | google.maps.event.addListener(map, "zoom_changed" , function (){ }); |
例2)「click」イベントを追加します。
1 | google.maps.event.addListener(map, "click" , function (e){ }); |
指定したイベントリスナーを削除する
1 | google.maps.event.clearListeners(map, "zoom_changed" ); |
全てのイベントリスナーを削除する
1 | google.maps.event.clearInstanceListeners(map); |
リスナーをオブジェクトとして作成し、そのインスタンスを指定してリスナーを削除する
1 | var zoomChanged_listener = google.maps.event.addListener(map, "zoom_changed" , function (){ |
5 | google.maps.event.removeListener(zoomChanged_listener); |
イベントの種類については下記をご参照ください。
[GoogleMap v3のmapオブジェクトのイベント]
2016年10月31日追記
GoogleMapの読み込み完了時に一度だけ実行するイベントを追加
1 | google.maps.event.addListenerOnce(map, "idle" , function (){ }); |
リサイズの場合はトリガーを使用します。
2 | google.maps.event.addListener(map, "resize" , function (LatLng) |
4 | map.setCenter(LatLng, 10); |
8 | document.getElementById( "map" ).onresize = function () |
10 | var LatLng = map.getCenter(); |
11 | google.maps.event.trigger(map, "resize" , LatLng); |