2012年2月16日

Yahoo! Open Local Platform

お店を検索する新しいAPI!施設内検索とルート沿い検索をリリースしました

  • このエントリーをはてなブックマークに追加

こんにちは、YOLPプロジェクトの鋤柄( @picacch )です。
本日、YOLPで「施設内検索API」と「ルート沿い検索API」をリリースしました。

YOLPではお店や施設を検索するAPIとしてローカルサーチAPIを提供しています。
ローカルサーチAPIはお店を検索する基本的なAPIで、名称や業種などのキーワードで検索したり、円や矩形で範囲を設定して検索できます。
本日YOLPに追加された施設内検索とルート沿い検索APIは、お店や施設の検索をさらに便利にしてくれるAPIです。

ビルなどの施設内のお店を検索できる「施設内検索API」

※施設内検索APIでは建物形状はレスポンスに含まれません。

施設内検索APIは、施設内検索をしたい場所の緯度経度を指定することで、その場所の建物(ビルなど)内にある拠点情報を取得できます。
例えば、JavaScriptマップAPIと組み合わせれば、地図上で東京ミッドタウンをクリックしてその建物内にあるお店を検索するサービスを実現できます。
大規模商業施設や百貨店、ショッピングモールにどんなお店が入っているのか知りたい場合、このAPIを使えば一発でわかりますね。

リクエスト例として、緯度:35.66619、経度:139.73008にある施設のお店を検索してみます。

http://inner.search.olp.yahooapis.jp/OpenLocalPlatform/V1/building?lat=35.66619&lon=139.73008&appid=<あなたのアプリケーションID>

<あなたのアプリケーションID>には、ご自身のアプリケーションIDを入れてください。
アプリケーションIDはこちらから取得できます。
緯度経度の指定の他に、返却される拠点情報の順番や情報量などの指定も可能です。
レスポンスをみると、上記の場所には「ガレリア」というビルがあり、その施設内にあるお店の情報が返ってきます。

<?xml version="1.0" encoding="UTF-8"?>
<YDF firstResultPosition="1" totalResultsAvailable="1" totalResultsReturned="1" xmlns="http://olp.yahooapis.jp/ydf/1.0">
  <ResultInfo>
    <Count>1</Count>
    <Total>1</Total>
    <Start>1</Start>
    <Latency>0.08788800239563</Latency>
    <Status>200</Status>
    <Description>建物の形状情報から、含まれる店舗・施設情報を返す機能を提供します。</Description>
    <Copyright>Copyright (C) 2012 Yahoo Japan Corporation. All Rights Reserved.</Copyright>
    <CompressType />
  </ResultInfo>
  <Feature>
    <Id>81304283039901</Id>
    <Gid>800CKGFVLUg</Gid>
    <Name>HAL YAMASHITA 東京</Name>
    <Geometry>
      <Type>point</Type>
      <Coordinates>139.73060691,35.666669041301</Coordinates>
    </Geometry>
    <Category />
    <Description />
    <Style />
    <Property>
      <Uid>d379f8bf338b48b15f108a2d7db94fe6fc7350d1</Uid>
      <CassetteId>f0a6bbe4fd136ad4cfb344b04c045ee7</CassetteId>
      <Yomi>ハルヤマシタトウキョウ</Yomi>
      <Country>
        <Code>JP</Code>
        <Name>日本</Name>
      </Country>
      <Address>東京都港区赤坂9-7-4 </Address>
      <GovernmentCode>13103</GovernmentCode>
      <AddressMatchingLevel>6</AddressMatchingLevel>
      <Tel1>03-5413-0086</Tel1>
      <Genre>
        <Code>0101053</Code>
        <Name>和食(その他)</Name>
      </Genre>
      <Area>
        <Code>000025</Code>
        <Name>赤坂・六本木</Name>
      </Area>
      <Station>
        <Id>23049</Id>
        <SubId>2304901</SubId>
        <Name>六本木</Name>
        <Railway>都営大江戸線/東京メトロ日比谷線</Railway>
        <Exit>7</Exit>
        <ExitId>5423</ExitId>
        <Distance>483</Distance>
        <Time>5</Time>
      </Station>
      <Station>
        <Id>22893</Id>
        <SubId>2289301</SubId>
        <Name>乃木坂</Name>
        <Railway>東京メトロ千代田線</Railway>
        <Exit>2</Exit>
        <ExitId>4912</ExitId>
        <Distance>695</Distance>
        <Time>8</Time>
      </Station>
      <Station>
        <Id>23049</Id>
        <SubId>2304902</SubId>
        <Name>六本木</Name>
        <Railway>東京メトロ日比谷線</Railway>
        <Exit>2</Exit>
        <ExitId>5429</ExitId>
        <Distance>790</Distance>
        <Time>9</Time>
      </Station>
      <KeepCount>98</KeepCount>
    </Property>
  </Feature>
  <Dictionary>
    <Building>
      <Id>B@bBpVWA2xL</Id>
      <Name>ガレリア</Name>
      <Floor>4</Floor>
      <Area>5741</Area>
    </Building>
  </Dictionary>
</YDF>

施設内検索のリクエストパラメータの詳細はこちら、レスポンスフィールドについてはこちらをご覧ください。

指定したルート沿いや範囲内のお店を検索できる「ルート沿い検索API」

ルート沿い検索APIは、指定したルート(緯度経度で指定)に沿って拠点情報を検索できます。
緯度経度とあわせて、「ガソリンスタンド」「ラーメン」などのキーワードを指定できるので、道沿いにあるガソリンスタンドを検索したり、ドライブ中の立ち寄りポイントを検索したりするサービスを実現できます。

リクエスト例として、以下はキーワード:ラーメンと4地点で構成されるルート沿いの検索をしてみます。
緯度経度の指定は、経度、緯度の順番でコンマ区切りで指定、スペースで複数点指定してください。

http://spatial.search.olp.yahooapis.jp/OpenLocalPlatform/V1/shapeSearch?query=%E3%83%A9%E3%83%BC%E3%83%A1%E3%83%B3&coordinates=139.728293,35.666308 139.7291459,35.665693 139.731321,35.664121 139.732208,35.66335&appid=<あなたのアプリケーションID>

レスポンスをみると、上記のルート沿いに複数のラーメン店があることがわかります。

<?xml version="1.0" encoding="UTF-8"?>
<YDF firstResultPosition="1" totalResultsAvailable="1" totalResultsReturned="1" xmlns="http://olp.yahooapis.jp/ydf/1.0">
    <ResultInfo>
        <Count>10</Count>
        <Total>10</Total>
        <Start>1</Start>
        <Latency>0.032125949859619</Latency>
        <Status>200</Status>
        <Description>ルート沿いの店舗・施設の情報を取得する機能を提供します。</Description>
        <Copyright>Copyright (C) 2012 Yahoo Japan Corporation. All Rights Reserved.</Copyright>
        <CompressType/>
    </ResultInfo>
    <Feature>
        <Id>21330113915</Id>
        <Gid>d_Hr76rH6v-</Gid>
        <Name>千成らーめん六本木店</Name>
        <Geometry>
            <Type>point</Type>
            <Coordinates>139.728939444444,35.666043611111</Coordinates>
        </Geometry>
        <Category/>
    </Feature>
    <Feature>
        <Id>21330918774</Id>
        <Gid>u-EzNMYkkv6</Gid>
        <Name>一蘭六本木大江戸線駅上店</Name>
        <Geometry>
            <Type>point</Type>
            <Coordinates>139.731511666667,35.664213333333</Coordinates>
        </Geometry>
        <Category/>
    </Feature>
    <Feature>
        <Id>t000031940</Id>
        <Gid>NSaKLTJvG1U</Gid>
        <Name>博多 一風堂 六本木店</Name>
        <Geometry>
        <Type>point</Type>
            <Coordinates>139.73226848543,35.663807829542</Coordinates>
            </Geometry>
        <Category/>
    </Feature>
    <Feature>
        <Id>21330151904</Id>
        <Gid>fmEgP-ZEOZI</Gid>
        <Name>天鳳</Name>
        <Geometry>
        <Type>point</Type>
            <Coordinates>139.729706111111,35.665065833333</Coordinates>
            </Geometry>
        <Category/>
    </Feature>
    <Feature>
        <Id>21331365575</Id>
        <Gid>SUQnfabH0nc</Gid>
        <Name>光麺六本木店</Name>
        <Geometry>
        <Type>point</Type>
            <Coordinates>139.731214444444,35.663918888889</Coordinates>
            </Geometry>
        <Category/>
    </Feature>
    <Feature>
        <Id>t000164650</Id>
        <Gid>m7y5mllsIxQ</Gid>
        <Name>日高屋 六本木店</Name>
        <Geometry>
        <Type>point</Type>
            <Coordinates>139.731172,35.6639827</Coordinates>
            </Geometry>
        <Category/>
    </Feature>
    <Feature>
        <Id>234197900c1ff5c99a8e0c7df6d96ed2b8ded38e</Id>
        <Gid>1TuM15hSPDE</Gid>
        <Name>無双六本木店</Name>
        <Geometry>
        <Type>point</Type>
            <Coordinates>139.73169769,35.66408279</Coordinates>
            </Geometry>
        <Category/>
    </Feature>
    <Feature>
        <Id>21330152401</Id>
        <Gid>atOh0tfQ8m-</Gid>
        <Name>萬家会</Name>
        <Geometry>
        <Type>point</Type>
            <Coordinates>139.729497777778,35.664318888889</Coordinates>
            </Geometry>
        <Category/>
    </Feature>
    <Feature>
        <Id>21331185938</Id>
        <Gid>vspyykduXqw</Gid>
        <Name>幸楽苑六本木店</Name>
        <Geometry>
        <Type>point</Type>
            <Coordinates>139.731436666667,35.663430000000</Coordinates>
            </Geometry>
        <Category/>
    </Feature>
    <Feature>
        <Id>21330968484</Id>
        <Gid>_DzB7d55TZk</Gid>
        <Name>サラリーマン亭</Name>
        <Geometry>
        <Type>point</Type>
            <Coordinates>139.731578333333,35.663607777778</Coordinates>
            </Geometry>
        <Category/>
    </Feature>
</YDF>

ちなみに、リクエストでmodeを指定することができ、ライン沿いの検索(mode=line)かラインで囲まれた範囲内の検索(mode=circle)かを指定することができます。 あるエリア内のお店を検索する場合などに使えると思います。

ルート沿い検索のリクエストパラメータの詳細はこちら、レスポンスフィールドについてはこちらをご覧ください。

おわりに

YOLPでは、約1000万件のお店や施設などの拠点情報を提供しています。
それをいろいろな手段で検索できるようにAPIも拡充しています。
今回はその手段として「施設内検索API」と「ルート沿い検索API」をリリースしました。

多くの皆さんに使っていただき、皆さんからのフィードバックを元に、YOLPをより使いやすいものにしていきたいと思いますので、ぜひお試しください。
ご意見は、Yahoo!地図Web APIグループ(Yahoo!グループ)よりご投稿お願いします。

Yahoo! JAPANでは情報技術を駆使して人々や社会の課題を一緒に解決していける方を募集しています。詳しくは採用情報をご覧ください。

  • このエントリーをはてなブックマークに追加