前回取得した緯度・経度情報を元に住所を取得してみます。
緯度・経度情報を元に住所を取得しております。
緯度・経度から住所を取得するには「geocoder」というものを使います。
手順としては「geocoder」オブジェクトを生成、geocode関数を呼び出して、その引数に緯度・経度とコールバック関数を設定、そのコールバック関数の引数に正常に取得できたかどうかとその結果が返ってくるような感じになります。
var geocoder = new google.maps.Geocoder(); geocoder.geocode( 緯度経度, コールバック関数(結果,エラーコード){} );
こちらが住所を取得する関数になります。
function latLngToAddr(latlng){ var geocoder = new google.maps.Geocoder(); geocoder.geocode( {latLng: latlng}, function(results, status){ if(status == google.maps.GeocoderStatus.OK){ address = results[0].formatted_address; alert(address); } else{ alert("geocoder error"); } } ); }
正常に取得できた場合はコールバック関数の第2引数(この場合だとstatus)に「google.maps.GeocoderStatus.OK」という定数が入ります。
if(status == google.maps.GeocoderStatus.OK){ //正常に取得 } else{ //エラー }
エラーの場合の細かいエラーコードに関してはリファレンスなどを参考にしてみてください。
あとは第1引数(この場合だとresults)の
results[0].formatted_address
に変換された住所が入ります。
簡単にまとめたソースになります!
広告