Google Mapsでクリックやドラッグされた時にデータを取得したいとき。

投稿者: | 2012年6月14日
Google Mapsでは地図を表示するだけでなく様々なイベントに対して情報を取得することが可能。
よく使うもの、便利な機能の具体的なJavascriptの中から。
var map = new google.maps.Map(mapdiv, myOptions);
で描画されたグーグルマップに対して以下の場合
マップがドラッグされたらマップセンターの緯度経度を取得する時
google.maps.event.addListener(map, 'drag', function(){
var mce = map.getCenter();
var mce_lat = mce.lat();
var mce_lng = mce.lng();
});
マップのズームレベルが変更されたら倍率を取得する時
google.maps.event.addListener(map, 'zoom_changed', function(){
var mzo =  map.getZoom();
});
マップのドラッグが終わったらマーカーの緯度経度を取得する時
google.maps.event.addListener(marker, 'dragend', function(){
var mpo = marker.position;
var mpo_lat = mpo.lat());
var mpo_lng = mpo.lng());
});
マップのドラッグが終わったらマップの表示範囲を取得する時
google.maps.event.addListener(map, 'drag', function(){
var mab = map.getBounds();
var m_ne_lat = mab.getNorthEast().lat();
var m_sw_lat = mab.getSouthWest().lat();
var m_ne_lng = mab.getNorthEast().lng();
var m_sw_lng = mab.getSouthWest().lng();
});
マップをクリックした場所の緯度・経緯を取得する時
google.maps.event.addListener(map, 'click', function(event){
var mk_lat_lng = marker.setPosition(event.latLng);
});
マップをクリックした場所の緯度・経緯を個別に取得する時
google.maps.event.addListener(map, 'click', function(event){
var mk_lat = event.latLng.lat();
var mk_lng = event.latLng.lng();
});