SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Yahoo! Open Local Platform Hacks

YOLPオーバービュー ~「デブサミ2011」で語り残した論点~

Yahoo! Open Local Platform Hacks 第1回

検索するAPI

 検索するAPIとして、以下の4つのAPIが公開されています。

  • ローカルサーチAPI
  • ジオコーダAPI
  • リバースジオコーダAPI
  • コンテンツジオコーダAPI

ローカルサーチAPI

 ローカルサーチAPIは、店舗情報や、クチコミ、イベントなど、多種多様な地域情報を検索できるAPIです。

 検索できるデータとしては、まず、600万超の件数を電話帳データがあります。これにより国内情報の網羅性を高められます。カセットID(cid)として「d8a23e9e64a4c817227ab09858bc1330」を指定してください。

「電話帳」カセットを指定して、つくばエクスプレス南千住駅を検索する場合の例
http://search.olp.yahooapis.jp/OpenLocalPlatform/V1/localSearch?cid=d8a23e9e64a4c817227ab09858bc1330&query=%E3%81%A4%E3%81%8F%E3%81%B0%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%97%E3%83%AC%E3%82%B9%E5%8D%97%E5%8D%83%E4%BD%8F%E9%A7%85&appid=<あなたのアプリケーションID>

 前述したとおり、ローカルサーチAPIの大きな特徴は、YOLPカセットギャラリーにアップロードされているカセットを、自由に組み合わせた検索結果を取得できることです。カセットを組み合わせるには、上述の、cidにカセットIDをコンマ(,)区切りで指定します。

 カセットIDは、YOLPカセットギャラリーの各カセットデータの詳細画面から取得できます。

図6 カセットの詳細画面で、カセットIDを表示
図6 カセットの詳細画面で、カセットIDを表示

 また、自分でアップロードしたデータを組み合わせることもできます(アップロードが完了すると、カセットID(cid)が自動的に付与されます)。

 つまり、YOLPローカルサーチAPIにより、網羅性の高い電話帳データ、パートナー企業や個人の多種多様なデータ、自分のデータを自由に組み合わせて、Yahoo! JAPANサービスで培われた空間検索テクノロジを手軽に利用できます。

ジオコーダAPIとリバースジオコーダAPI

 ジオコーダAPIは、住所などのキーワードを位置情報(緯度経度)に変換します。

 リバースジオコーダAPIは、その逆で、位置情報(緯度経度)を、住所や国名へ変換します。

 JavaScriptマップAPIを利用する場合、検索するAPIをカンタンに利用するためのオブジェクトが用意されています(「JavaScriptマップAPI>サービスを利用する」を参照してください)。

リバースジオコーダオブジェクトのサンプル
<script>
<!--
var $ = Y.useJQuery();
var map = new Y.Map("map");
map.drawMap(new Y.LatLng(35.665627,139.730738), 15);
map.addControl(new Y.LayerSetControl());
map.addControl(new Y.SliderZoomControlVertical());

map.bind( 'moveend' , function() {
    //中心位置の緯度経度を指定して、リバースジオコーディングを実行
    var geocoder = new Y.GeoCoder();
    geocoder.execute( { latlng : map.getCenter() } , function( result ) {
        if ( result.features.length > 0 ) {
            //リバースジオコーディング結果を表示
            document.getElementById('address').innerHTML = result.features[0].property.Address;
        }
    } );
} );
//--> 
</script>

 これにより、YDF(XML)やJSONを扱うことなく、APIの機能を利用できます。

コンテンツジオコーダAPI

 コンテンツジオコーダAPIは、場所を表すキーワードを検出し、その位置情報(緯度、経度など)を出力します。

 自然文テキストを渡すと、日本語処理技術や、ジオコーディング技術を組み合わせて、位置情報を抽出します。

図7 コンテンツジオコーダAPIの内部処理概要
図7 コンテンツジオコーダAPIの内部処理概要

 以上、検索するAPIを紹介しました。

 次ページからは、今までに紹介した、地図を表示するAPIと、検索するAPIとの連携について、シンプルな利用例を紹介します。

次のページ
地図と検索の連携

この記事は参考になりましたか?

Yahoo! Open Local Platform Hacks連載記事一覧

もっと読む

この記事の著者

山内 英治(ヤフー株式会社)(ヤマウチ エイジ (ヤフーカブシキガイシャ))

「Yahoo! Open Local Platform(略称:YOLP)」、「Yahoo!地図」の企画担当。1999年に岐阜県立国際情報科学芸術アカデミーを卒業後、WEBの世界の荒波に揉まれながら、現在に至る。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/5853 2011/03/31 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー