使ってみよう! Bing API/SDK

第10回 使ってみよう! Bing Maps REST Services(2)

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

Imagery API

前回はBing Maps REST ServicesのLocation APIを紹介しました。今回は同じくREST ServicesのひとつImagery APIについてです。Imagery APIを利用すると,大きく分けて次のふたつのことができます。

  • 地図画像の取得
  • メタデータの取得

ひとつ目の地図画像の取得では,指定した地域の画像をJPEGやPNG形式で取得でき,Blogなどに貼り付けて使えます。また,プッシュピンの描画などもできます。ふたつ目のメタデータの取得とは,Bing Mapsを構成するタイル状の画像の情報の取得です。

Imagery APIは日本・日本語に対応していませんが,日本のサービス向けにも利用できると思われる部分を中心に紹介します。

画像の取得

場所の指定

それでは画像の取得方法からみていきましょう。地図の一部分を画像として切り出すわけですが,取得する場所の指定は次の方法が用意されています。

  • 画像の中心となる経緯度とズームレベルの指定
  • 2点の経緯度で表示エリアの指定
  • ルートの指定
  • クエリーの指定

上記の最初のふたつは,経緯度を指定するものです。

ルートの指定では,複数の地点を経緯度や住所で指定すると車または徒歩での経路情報を表示するのに最適な範囲の地図が得られます。ただし日本の場合,結果は得られますがルート情報としてはあまり有用とはいえません。また日本語での場所指定もできません。

クエリーの指定では,住所や建物名などを指定し,その地域を表すのに最適な範囲の地図が得られます。ただしこちらも日本語がサポートされていませんので日本語や詳細な住所では結果を得られません。

以上より,今のところ日本での利用は経緯度指定によるものが使えそうです。地図画像は日本語表記のものが得られます。また,クエリーの指定について,Imagery APIは日本語対応していませんが,前回のLocation APIは対応していますので,Location APIから得られた経緯度をImagery APIで利用する組み合わせが可能です。

場所の指定方法にもよりますが,地図画像に対して主に次の操作ができます。

  • プッシュピンの描画
  • ルートの描画
  • 大きさの指定

リクエストURLの書式

以上をふまえて,画像を取得するためのURLの書式とそのパラメーターをみていきましょう。

画像を取得するURL書式は以下のようになります(青字が値を指定する箇所です)⁠

  • http://dev.virtualearth.net/REST/version/Imagery/Map/imagerySet/centerPoint/zoomLevel/Routes/travelMode?
      mapArea=mapArea&
      waypoint.1=routeWaypoint1&
      waypoint.2=routeWaypoint2&
      waypoint.n=routeWaypointn&
      avoid=avoidOptions&
      mapSize=mapSize&
      pushpin=pushpin&
      mapLayer=mapLayer&
      key=BingMapsKey

パラメーターが多いですがすべて使用するわけではなく,場所の指定方法に合わせて選択または組み合わせて使います。たとえば,ルートを指定して画像の中心場所を指定するなどが可能です。

クエリーを指定する場合は次の書式になります。

  • http://dev.virtualearth.net/REST/version/Imagery/Map/imagerySet/query?
      mapSize=mapSize&
      mapLayer=mapLayer&
      key=BingMapsKey

前回も述べたようにBing Maps REST Servicesは下記の共通のURLの書式に従っています(HTTPSもサポートしています)⁠Imagery APIの場合,restApi部分がImageryになっています。

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

Imagery APIの各パラメーターは次の通りです。versionBingMapsKeyについては前回説明しています。⁠v1」とBing Maps Keyを指定します。

パラメーター(省略名) 説明
centerPoint 画像の中心となる緯度と経度をカンマ区切りで指定
例:35.68918461,139.69163358
imagerySet 地図の種類(必須)
  • Aerial:航空写真
  • AerialWithLabels:航空写真に道路地図を重ねた地図
  • Road:道路地図
mapArea(ma) エリアを示す2点の経緯度
例:ma=35.686481,139.68893,35.691888193,139.694337
mapSize(ms) 取得する画像の大きさ
縦,横のピクセル数をカンマ区切りで指定
横幅は80~900,縦幅は80~834の範囲内で指定
規定値は350x350
例:ms=720,330
pushpin(pp) 地図にプッシュピンを描画
プッシュピンの経緯度,種類番号,ピンに表示する文字列をセミコロン区切りで指定
最大18個まで指定可能
例:pp=35.68918461,139.69163358;14;TK
waypoint.n(wp.n ルートの始点・終点・中継点を経緯度または住所や建物名で指定
nの部分は0または1から1ずつインクリメントとした値を順番に2点以上を指定
ルート指定形式の場合必須
例:wp.1=Tokyo&wp.2=Kyoto
zoomLevel ズームレベルを1(世界地図)~22の範囲の整数で指定
query 住所や建物名を指定(英語のみ)

場所を特定できる,centerPointzoomLevel, mapArea, waypoint.nのいずれかは必須のパラメーターです。当然ながらクエリー形式指定の場合,queryパラメーターは必須です。

少し重要度の低いルート指定関連のパラメーターを次にまとめています。いずれのパラメーターも省略可です。

パラメーター(省略名) 説明
avoid 経路探索時,高速道路や有料道路を使用しない,または最小限に抑えるよう指示するためのオプションです。
以下の値を指定
  • highways
  • tolls
  • minimizeHighways
  • minimizeTolls
値はカンマ区切りで指定可能
例:avoid=highways,tolls
mapLayer(ml) 値TrafficFlowのみ設定可能で交通情報を表示
例: mapLayer=TrafficFlow
optimize(optmz) 以下の値を指定
  • distance:最短距離経路優先
  • time:最短時間経路優先(規定値)
  • timeWithTraffic:交通情報を考慮した最短時間経路優先
travelMode 車または徒歩の経路かを指定
  • Driving:車(規定値)
  • Walking:徒歩

URL書式をみるとcenterPointとzoomLevelは,URLのパス部分にあります。ルートについても各地点の指定はクエリー部分(⁠?」以降)にありますが,ルート指定時はパスにRoutesを指定します。クエリー指定時も場所を示すクエリーはパス部分に記述します。エリアのみクエリー部分で表現されていることがわかります。

中心の経緯度とズームレベルだけを指定する場合は,⁠/Routes/travelMode」を省略し次のようにパスを構成します。

  • /REST/version/Imagery/Map/imagerySet/centerPoint/zoomLevel

ルートのみ指定する場合は,/centerPoint/zoomLevel部分を省略し次のようにパスを構成します。

  • /REST/version/Imagery/Map/imagerySet/Routes/travelMode

さらにtravelModeを省略すると次のようになります。

  • /REST/version/Imagery/Map/imagerySet/Routes

いずれも指定する順番は変更せずに必要ない部分を省略します。URLの「?」以降のクエリー部分は順不同です。次の実際の例を見て確認してみましょう。

著者プロフィール

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

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

URL:http://katamari.jp

コメント

コメントの記入