2014年6月20日金曜日

Map Events tilesloaded


このイベントは見えている範囲のタイル(地図)が
読み込まれたタイミングで発生します。
なので、ズームしたり地図を移動したりすると、
bounds_changed -> tilesloaded
と表示されると思います。

また、ゆっくりと地図を移動すると、
bounds_changed だけ表示されると思います。
これはゆっくりと地図を移動している間に、
google mapは地図の少し外側の見えない部分のデータも受信するため、
tilesloaded イベントは発生しない状態になります。
そのためbounds_changed だけが表示された状態になります。

以下、サンプルコードです。

<!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, "bounds_changed", function () {
                note.innerText = "bounds_changed";
            });
            google.maps.event.addListener(gmap, "tilesloaded", function () {
                note.innerText = "tilesloaded";
            });
        });
    </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 件のコメント:

コメントを投稿