geocoding with google AJAX search API

thinkvitamin に Vitamin Features » Create a searchable Google map なる記事がありました。試しにこいつに日本の住所を入れると、普通に正しく結果が帰ってくるではありませんか!

で、ちょこっとさがしてみたら
[F] Google Maps APIで日本の住所から緯度・経度を求める方法 – F.Ko-Jiの「一秒後は未来」
というエントリが。要するに google maps API のgeocoderは塞がれたけど google AJAX search API の GlocalSearch クラスは塞ぎ忘れられているようで、日本の住所が解決できるみたいです。

というわけで早速いじってみました。
このAPIはもともとUIも含めて AJAX search を提供するというコンセプトで作られたもののようで、二つの点で使いにくいです。
ひとつめがライセンスの部分で、 Terms of Use のところにある
You agree to include and display the “powered by Google” attribution adjacent to the Service search box.
という条項と
For all Search Results available through the Service, Google provides Google AJAX Search API attribution language (such as “clipped from Google – date” or such similar language as may be used from time to time).
という条項。geocoderとして使う時にはそもそもサーチボックスが必要なかったり、検索結果を表示したりしなかったりするのでこの条項は煩わしいです。
ふたつめは技術的なところで、”東京タワー”でクエリを投げると、日本語を正しく扱えていないのかなんなのか、本物とまじって”Vintage Aircraft Co”とかいうのも帰ってくるので、こいつを除外したいところ。日本の住所文字列を解決した時だけaddressLookupResultに”/maps”という値がはいっているかんじですが、ドキュメントには何とも書かれていないのでやや不安です。


About this entry