カスタム検索

2009年7月14日火曜日

GoogleMapとジオコーディング(住所検索)について

GoogleMapAPIを登録すると、以下のようなサンプルが表示されます。
デベロッパーガイドを見ていても大体同じような感じです。


<script src="http://maps.google.com/maps?file=api&v=2&&key=xxxxxxxxxxx" type="text/javascript"></script>


これで大体の場合は普通に使えるのですが、ジオコーディングを使う場合は注意が必要です。
ロケールの指定というのがあるのですが、 http://maps.google.com から取得するとこれが日本になっていません。
日本になっていない場合でも大概はうまくいくのですが、以下のように違う場所を表示したりする場合があります。
(ブラウザによっては同じ表示になる場合があるようです、Firefoxでは違う位置になりました)

以下の二つをFirefoxで見ると数値が違うのがわかると思います。(リンクだとうまくいかないのでコピーペーストして下さい。)
http://maps.google.com/maps/geo?q=%E6%BB%8B%E8%B3%80%E7%9C%8C%E8%8D%89%E6%B4%A5%E5%B8%82
http://maps.google.co.jp/maps/geo?q=%E6%BB%8B%E8%B3%80%E7%9C%8C%E8%8D%89%E6%B4%A5%E5%B8%82

ちなみに二つの位置を地図で表示すると、以下のようにずれています。




これはJSON以外にもXMLやJavaScript(GClientGeocoder)で取得する場合も同じです。
日本の指定にはAPIのパラメーラーに hl=ja をつけるか、 http://maps.google.co.jp/maps で取得すればOKです。
日本国内の使用に関しては設定しておいた方が良さそうです。

2009/7/21 ずれがわかりにくかったので修正しました。

1 件のコメント:

いちの さんのコメント...

状況が再現できないです。気になる。
どれくらいずれるんだろ。