RAKSUL TechBlog

ラクスルグループのエンジニアが技術トピックを発信するブログです

Yahoo!ジオコーダAPI を使ったアプリケーションの作り方

エンジニアの大嶋です。

先日、吉岡がブログでGoogle Mapsを使ったアプリケーションの作り方を紹介しましたが、

今回は同じAPI でも

Yhaoo GeoCoding API

についてご紹介したいと思います。

ラクスルのポスティングのシステムの裏側ではGoogle Maps APIだけではなく、
ケースによってはYhaoo APIを利用しています。

利用しているAPIは↓こちら
Yahoo!ジオコーダAPI

最低限必要な情報は以下の通りです。
リクエストURL: http://geo.search.olp.yahooapis.jp/OpenLocalPlatform/V1/geoCoder
リクエストパラメータ:「api_id」、「query」

ここで、「query」に渡す情報は上記では「虎ノ門1-17-1」のような住所の情報になります。
するとAPIが「虎ノ門1-17-1」に対する緯度経度情報を返してくれます。

ここで 一点Google Maps API との相違があります。
Yahoo!ジオコーダAPIは「住所」に対するGeo情報をレスポンスしてくれるAPIであるため、
「虎門駅」や、「東京タワー」のような駅名や施設名ではレスポンスを返してくれません。
Google Maps API のGoogle Geocoding API ではそこらへんもよしなにレスポンスしてくれるようです。
 
そこで 「Yahoo!ローカルサーチAPI」を利用します。
Yahoo!ローカルサーチAPIは「住所」をクエリパラメータとして渡すのではなく、
施設名称やカテゴリー名称などのキーワードを指定して、地域・拠点情報を検索できます。

上記の、ふたつのAPIを使い分け、
「住所」から緯度経度情報を取得したい場合は「Yahoo!ジオコーダAPI」を、
「駅名や施設名」から緯度経度情報を取得したい場合は「Yahoo!ローカルサーチAPI」を叩くようにアプリケーションを作成しています。

まとめ

Yahoo APIには今回紹介した「Yahoo!ジオコーダAPI」、「Yahoo!ローカルサーチAPI」以外にも多くのAPIがあるので、是非面白い使い方を発見してみてください!

参考
http://developer.yahoo.co.jp/webapi/map/