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 } }