Google Mapsのジオコーディングサービスを利用して、住所やキーワードから緯度経度に変換する。JavaScriptから利用する際の手順はここを参照。使う際は、(1)単位時間あたりのリクエスト数に上限(1日あたり2,500回)がある、(2)呼び出しは非同期的に行われる、(3)地図と一緒に使う、点に留意する必要がある。
コード内で Google Maps API ジオコーディング サービスにアクセスするには、google.maps.Geocoder オブジェクトを使用します。Geocoder.geocode() メソッドはジオコーディング サービスへのリクエストを開始し、入力文字列を含む GeocodeRequest オブジェクト リテラルと、回答の受け取り時に実行するコールバック メソッドを渡します。
- ジオコーダを初期化する
// JavaScript var geocoder = new google.maps.Geocoder();
// JavaScript
geocoder.geocode({
'address': address, // 必須
'region': 'jp' // 省略可能
}, function(results, status){
// コールバック処理
}
});
パラメータとして、上記以外に bounds: LatLngBounds があり、これを指定することで探索範囲を制限することができる。なお、addressの代わりに、latLng: LatLng を指定すると経緯度から住所を得る(逆ジオコーディング)ことができる。探索結果はresultにJSON形式で返される。処理は非同期的に行われるので、コールバック関数を設定する。
結果は以下の形式で返される。読みやすい住所は formatted_address に、経緯度は geometry に格納される。
// JSON
results[]: { // 結果は複数の可能性あり
types[]: string,
formatted_address: string,
address_components[]: {
short_name: string,
long_name: string,
types[]: string
},
geometry: {
location: LatLng,
location_type: GeocoderLocationType
viewport: LatLngBounds,
bounds: LatLngBounds
}
}