使ってみよう! Bing API/SDK

第11回 使ってみよう! Bing Maps REST Services(3)

この記事を読むのに必要な時間:およそ 5.5 分

Routes API

前回までにBing Maps REST ServicesのLocation API,Imagery APIを紹介しました。今回は最後のAPI,Routes APIについてです。また,最後にトランザクションレポートについても少しふれています。

Routes APIを利用すると次のふたつのことができます。

  • 出発地から到着地までの経路探索
  • 到着地への主要道路からの経路探索

車または徒歩での経路探索が選択でき,所要時間・距離の取得や,交通情報を利用した探索,交通事故情報や目印となる建物の表示などもサポートしています。

ただし,日本はサポート範囲に一応入っていますが,実質的には日本語で住所を指定できないうえに,探索結果は有用とはいえません。米国のBing Mapsでは,実際に車・徒歩での経路探索がサービスとして提供されていますが図1)⁠日本のBing Mapsでは提供されていません※1)⁠

※1

路線検索は提供されています。路線検索はAPIには含まれていません。

図1 Bing Mapsの経路探索サービス

図1 Bing Mapsの経路探索サービス

今のところ日本では実質的に利用できないため,Routes APIについては,参考までに紹介しておきます。とはいえ図1のように到着地までの道案内を可能にするAPIのため,APIのレスポンスは前回までの内容と比べ複雑なものとなっています。

出発・到着地を指定した経路探索

まず,出発地と到着地を指定して経路を探索する場合です。中継する地点も指定でき,出発・到着地含めて25点まで指定可能です。場所は,住所や建物の名前または経緯度を指定します。

URLの書式

APIのURLの書式は次のようになります。

  • http://dev.virtualearth.net/REST/version/Routes/travelMode?
      wayPoint.1=wayPoint1&
      waypoint.2=wayPoint2&
      wayPoint.n=wayPointn&
      optimize=optimize&
      avoid=avoidOptions&
      routePathOutput=routePathOutput&
      distanceUnit=distanceUnit&
      key=BingMapsKey

Bing Maps Services共通のURLは次の通りでした。Routes APIの場合,restApi部分にRoutesを指定します。

  • http://dev.virtualearth.net/REST/version/restApi/resourcePath?queryParameters&key=BingMapsKey

各パラメーターの内容は次の通りです。前回紹介したImagery APIでは経路の描画もサポートしていたため,いくつかのパラメーターは同じ内容です。また,versionBingMapKeyについても前回までと同様に,⁠v1」とBing Maps Keyを指定します。

パラメーター(省略名) 説明
travelMode 車または徒歩の経路かを指定
  • Driving:車(規定)
  • Walking:徒歩
avoid 経路探索時,高速道路や有料道路を使用しない,または最小限に抑えるよう指示するためのオプション
以下の値を指定
  • highways
  • tolls
  • minimizeHighways
  • minimizeTolls
値はカンマ区切りで指定可能
例:avoid=highways,tolls
waypoint.n(wp.n 経路の出発・到着地および中継地を住所・建物名,または経緯度で指定
nの部分は0または1から1ずつインクリメントとした値を順番に指定,2点以上を指定
ルート指定形式の場合必須
例:wp.1=Eiffel%20Tower&wp.2=louvre%20museum
optimize(optmz) 以下の値を指定
  • distance:最短距離経路優先
  • time:最短時間経路優先(規定値)
  • timeWithTraffic:交通情報を考慮した最短時間経路優先
routePathOutput(rpo) レスポンスに経路を表す経緯度のコレクションを含めるかを指定
  • points:含める
  • None:含めない(規定値)
distanceUnit(du) 使用する距離の単位
  • Mile または mi
  • Kilometaer または km(規定値)

上記のうちwaypoint.nのみ必須のパラメーターです。travelModeを省略する場合は次のように /Routes の後にすぐクエリーを付けてURLを表記します。

  • http://dev.virtualearth.net/REST/version/Routes?
      wayPoint.1=wayPoint1&...

経路探索の例

実際に経路探索をしてみましょう。以下は,建物の名前を出発・到着地点に指定した場合の徒歩による経路探索です。

  • http://dev.virtualearth.net/REST/v1/Routes/Walking?
      wp.1=Eiffel%20Tower&
      wp.2=louvre%20museum&
      optmz=distance&
      key=BingMapsKey&o=xml

リクエスト結果をみる※2

※2

リクエストURLには実際のBing Maps Keyが指定してありますが,実際のアプリケーションでは必ず開発者自身が取得したKeyに置き換えてください。

次の例は経緯度を指定した場合です。また経路の経緯度情報も取得しています。レスポンスをみると複数の経緯度情報が含まれているのがわかります。

  • http://dev.virtualearth.net/REST/v1/Routes?
      wp.1=40,-120&
      wp.2=40.5,-120.5&
      rpo=points&
      key=BingMapsKey&o=xml

リクエスト結果をみる

主要道路からの経路探索

Routes APIのもうひとつの機能は到着地点を指定し,そこまでの東西南北の主要な道路からの経路探索です。日本はサポートされていません。

URLの書式

メタデータ取得のURL書式には次の通りです。

  • http://dev.virtualearth.net/REST/version/Routes/FromMajorRoads?
      destination=destination&
      exclude=routes&
      rpo=routePathOutput&
      du=distanceUnit&
      key=BingMapsKey

各パラメーターは次の通りです。出発・到着地から経路探索と同じパラメーターは省略しています。

パラメーター(省略名) 説明
destination(dest) 到着地となる場所を住所・建物名,または経緯度で指定
例:dest=1 Microsoft Way Redmond WA
exclude(excl) 「routes」のみ指定でき,指定した場合,出発地のみの情報となる(経路情報を含まない)

経路探索の例

実際の例は次のようになります。

  • http://dev.virtualearth.net/REST/v1/Routes/FromMajorRoads?
      destination=1%20Microsoft%20Way%20Redmond%20WA&
      excl=routes&
      key=BingMapsKey&o=xml

リクエスト結果をみる

結果をみると,到着地に対して東西南北の道路が出発地となっています。

著者プロフィール

松江祐輔(まつえゆうすけ)

日本システムウエア株式会社 勤務。現在,ハードウェア設計・検証業務を担当。大学生・大学院生時代はベンチャー企業 有限会社ミレニアムシステムズにプログラマーとして従事。趣味はプログラミング。好きな言語はVisual Basic。Microsoft MVP for Windows Live Platform(Jul 2010 - Jun 2011),Windows Live(Jul 2011 - Jun 2013)。

URL:http://katamari.jp

コメント

コメントの記入