T

Titanium MobileのGeocodingで日本語を扱う

Titanium Mobileにも住所から緯度経度を取得(Geocoding)したり、その逆に緯度経度から住所番地を取得(Reverse Geocoding)する機能があります。しかし日本語やその他言語でローカライズされた住所を扱うことができません。

これはGeocodingのプロバイダにGoogleなど他のサービスを利用すれば解決できます。割と簡単にできるのでさくっとコードを書いていたのですが、@k0sukeyさんがcommonJSのモジュールにしてくれていますので紹介します。使い方は簡単、READMEにある通りです。

引数のlanguageプロパティで戻り値の言語を設定できます。Google MapsのAPIなのでサポートされている言語はこちらの通りです。ただ、使用例にあるTi.Platform.localeの値は中国語だとzh_hansやzh_hantになるので、Google側はzh-CNやzh-TWを期待しているため調整が必要です。ロケールについてはあまり詳しく知らないのですが、ググってみるとGoogle側の方が正しい解釈をしているようですね速攻で対応されたらしいぞ!

なお、Ti.Geocoding.forwardGeocoderとかreverseGeocoderとかは筋が悪いのでしばらくは絶対に使わない方がいいです。

Posted by on 3月 1, 2012 in Titanium

コメントを残す