2014年6月13日金曜日

Map Events idle


「idle」は地図がアイドル状態になった時に発生するイベントです。
地図をドラッグで移動したり、ズームを変更したりした後に、
アイドル状態になった時にイベントが発生します。

地図データの読み込み完了時に発生するイベントではないので、
ほんの少しだけ地図を移動した場合でも、
地図の移動が終わってアイドル状態になるとこのイベントは発生します。
地図の読み込み完了をトリガーにしたい場合は「tilesloaded」を使用します。

なるべくシンプルにしたかったのですが、
今回は別のイベントも2つ実装しています。
ズーム変更イベントとセンター変更イベントです。
ズームしたりセンター変更したりすると
「zoom_changed」や「center_changed」と表示して、
地図がアイドル状態になると「idle」と表示しています。

以下サンプルです。

<!DOCTYPE html> 
<html lang="ja"> 
<head> 
    <meta charset="utf-8" /> 
    <title> google maps api v3</title> 
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"> </script> 
    <script type="text/javascript"> 
        google.maps.event.addDomListener(window, "load", function () {
            var map = document.getElementById("map_canvas");
            var latlng = new google.maps.LatLng(35.658580, 139.745433);
            var mapOptions = {
                zoom: 18,
                center: latlng
            };
            var gmap = new google.maps.Map(map, mapOptions);

            var note = document.getElementById("note");
            google.maps.event.addListener(gmap, "zoom_changed", function () {
                note.innerText = "zoom_changed";
            });
            google.maps.event.addListener(gmap, "center_changed", function () {
                note.innerText = "center_changed";
            });
            google.maps.event.addListener(gmap, "idle", function () {
                note.innerText = "idle";
            });
        });
    </script> 
</head> 
<body> 
    <div id="map_canvas" style="width: 400px; height: 400px"> </div> 
    <p id="note" style="padding: 10px; background-color:#f50; color: #fff;"> 
    </p> 
</body> 
</html> 

このエントリーをはてなブックマークに追加

0 件のコメント:

コメントを投稿