←前  最新記事  次→

GoogleMapsAPI に逆ジオコーダー機能が追加されました

GoogleMapsAPI に、待望の「逆ジオコーダー」(緯度経度から住所を求める機能)が追加されたらしいという記事をたまたま見つけたので、早速、出張JAWSで試してみました。

公式なリファレンスが見つけられなかったので、サンプルページのコードを解析してみました。

「GClientGeocoder」クラスの機能拡張によって実現されているようです。

<コード例>


 (1) var geocoder = new GClientGeocoder();
 (2) geocoder.getLocations(latlng, function(addresses) { 
 (3) if(addresses.Status.code != 200) {
     // エラー処理

    } else {
 (4) var result = addresses.Placemark[0];
 (5) var address = result.address;
    }
  });

<解説>
(1)ジオコーダークラスです。
(2)getLocationsメソッド
従来は、ジオコーダー(住所から緯度経度を求める機能)として利用されていましたが、今回、その反対の変換機能にも対応されたようです。
第一パラメータにGlatlng型のオブジェクトをセットすることで、逆ジオコードが機能するようです。
従来のジオコードでは、ここに住所文字列(String)をセットしていました。
第二パラメータは、コールバック関数です。
(3)エラー処理を書きましょう。
(4)住所情報を取得します。
戻り値のオブジェクト(ここではaddresses)から、このように取り出すようです。(詳細は不明)
(5)住所テキストを取得します。
このコードによって、「日本北海道札幌市中央区・・・」のような、国名で始まる住所テキストが取得できます。国名が不要なら、substringでカットしましょう。

<出張JAWS>
実際に「出張JAWS」の住所検索機能に使ってみたところ、非常に安定した動作が体感できました。
最近、少々不安定だった出張JAWSですが、少しは改善されたかと思います。