それなりブログ

とあるWebエンジニアのそれなりのブログ、JavaScript/Node.js/Python/PHP/ゲーム作成 など

GoogleMapsAPIのジオコーディングがまた変わってる

HTTP版の方のGoogleMapsAPIですが、
ちょっと前に妙な検索結果を返すようになってしまったな、と思ってたら
今日、再確認したところ、直っているようです。

例えば、こういうクエリを投げると

http://maps.google.co.jp/maps/geo?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E6%B8%8B%E8%B0%B7%E5%8C%BA%E6%B8%8B%E8%B0%B71-2-5&output=xml&key={$API-Key}

以下が返って来ます

<kml>
<Response>
<name>東京都渋谷区渋谷1-2-5</name>
<Status>
<code>200</code>
<request>geocode</request>
</Status>
<Placemark id="p1">
<address>日本東京都渋谷区渋谷1丁目2</address>
<AddressDetails Accuracy="7">
<Country>
<CountryNameCode>JP</CountryNameCode>
<CountryName>日本</CountryName>
<AdministrativeArea>
<AdministrativeAreaName>東京都</AdministrativeAreaName>
<Locality>
<LocalityName>渋谷区</LocalityName>
<DependentLocality>
<DependentLocalityName>渋谷</DependentLocalityName>
<Thoroughfare>
<ThoroughfareName>1丁目2</ThoroughfareName>
</Thoroughfare>
</DependentLocality>
</Locality>
</AdministrativeArea>
</Country>
</AddressDetails>
<Point>
<coordinates>139.706406,35.661491,0</coordinates>
</Point>
</Placemark>
</Response>
</kml>

昔と比べて、精度(Accuracy)は下がっているようですが
ちゃんとした結果を返すようになっていました。

とりあえず、良かったなぁということで。

ただ、返って来る情報が不安定なようなので、
常に使うサービスを予定している人は注意した方がいいと思います。
逆にAjax側のAPI方が返す情報は安定しているようなので、
いざという時のために、そっち側をAPI的に使えるようにしておくのも手かもしれないです。

精度はオプションで指定できるんじゃ?とか
そもそも、ニュースリリース読めばそんなこと書いてあるんじゃね?とか
後で時間が空いた時に覚えてたら調べます・・・・・・のつもりです・・・。

さっさと調べろよ使えねーなボケというせっかちさんのために、リンクを置いておきますね・・・。
マニュアル該当部分(英語)

【追記】
上記のリクエスト例は、
「東京都渋谷区渋谷1-2-5」をクエリで指定しているのですが
そのような住所が存在しないために変な結果が返っているというものでした・・・。

APIの仕様として、指定住所が存在しない場合は、
精度を落とした座標や類似の住所を勝手に判別して座標を返すようです。

ただし、実際に存在する住所を指定しても、
このような結果になる場合がありますが、
それはおそらくは、Google Maps側の住所情報の更新が間に合ってないということなので
諦めて情報の更新を待つしか無いっぽいです。

以上、教えてくれた方、ありがとうございました。


2 Responses to “GoogleMapsAPIのジオコーディングがまた変わってる”

  • komagata より:

    Version細かく指定しないとマイナーバージョン同士でも激しく違って使えないよ。
    適当に使うと不幸になる。

  • kjirou より:

    あれれー?
    HTTP版の方もversionって指定できる?
    v=2 とか v=2.x とか足してみても
    一向に変わらんセヨ。


コメントを残す

メールアドレスが公開されることはありません。

Categories

Archives