このイベントは見えている範囲のタイル(地図)が
読み込まれたタイミングで発生します。
なので、ズームしたり地図を移動したりすると、
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 件のコメント:
コメントを投稿