いくつかのクリック後にユーザーが見て、復元する現在の位置を保存します。現在の潜在的な境界を取得しますか?
現在の緯度経度の境界を取得してmap.fitBoundsを作成するにはどうすればよいですか?ここで
いくつかのクリック後にユーザーが見て、復元する現在の位置を保存します。現在の潜在的な境界を取得しますか?
現在の緯度経度の境界を取得してmap.fitBoundsを作成するにはどうすればよいですか?ここで
は、現在のマップの境界を捕捉するためのコードだ「のbounds_changed」イベント後
google.maps.event.addListener(map, 'bounds_changed', function() {
try {
if(initialBounds == null) {
initialBounds = map.getBounds();
}
} catch(err) {
alert(err);
}
});
に、あなたはこのコードをGoogleマップで
google.maps.event.addDomListener(controlUI, 'click', function() {
// map.setCenter(home)
if(initialBounds != null) {
map.fitBounds(initialBounds);
}
});
getBounds()
を使用してバウンドをマップ返すことができますAPI v3
したがって、緯度と経度を取得するには、getBounds()
をbounds_changed
イベントリスナーに移動する必要があります。
var map = new google.maps.Map(document.getElementById("map"), {
zoom: 10,
center: new google.maps.LatLng(lat, lng),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
google.maps.event.addListener(map, 'bounds_changed', function() {
var bounds = map.getBounds();
var ne = bounds.getNorthEast();
var sw = bounds.getSouthWest();
console.log(ne.lat());
console.log(ne.lng());
console.log(sw.lat());
console.log(sw.lng());
});
このイベントは、ビューポートの境界が変更されたときに発生します。あなたがそれにいくつかのajax呼び出しを持っているなら、地図の位置が変わるたびにajax呼び出しが呼び出されます。
この場合、より良い解決策はgetBounds()
をidle
イベントリスナーに移動することです。このイベントは、ズーム後に地図がアイドルになると発生します。
var map = new google.maps.Map(document.getElementById("map"), {
zoom: 10,
center: new google.maps.LatLng(lat, lng),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
google.maps.event.addListener(map, 'idle', function() {
var bounds = map.getBounds();
var ne = bounds.getNorthEast();
var sw = bounds.getSouthWest();
console.log(ne.lat());
console.log(ne.lng());
console.log(sw.lat());
console.log(sw.lng());
});
このスレッドは、複数の火災を避けるために、より良いANSERを持っている[答えるために行くためにクリック](http://stackoverflow.com/questions/4338490/google-map-event-bounds-changed-triggered-multipleドラッグ時) –