使ってみよう! Bing API/SDK

第9回 使ってみよう! Bing Maps REST Services(1)

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

Bing Maps REST Services

前回まではBing Map App SDKについて紹介してきました。今回からはBing Maps REST Servicesを使ってみましょう。Bing Maps REST Servicesは,ちょうど この連載が始まる時期に登場した新しいWeb APIで,このAPIを利用すると,地理情報の取得,Bing Mapsの地図を構成するタイル画像の取得,ルート探索などが可能です。

Bing Maps REST Servicesは次の3種類のAPIに分類されています。

Locations API

住所や経緯度,クエリーから地理情報を取得できるAPIです。

Imagery API

地図画像を取得,プッシュピンを配置した・ルート情報を表示した地図画像の取得,タイル画像のメタデータを取得できるAPIです。

Routes API

ルートの探索ができるAPIです。

これらのAPIでは,HTTPまたはHTTPSで特定のURLにアクセスし,結果をXMLまたはJSON形式で取得します。ちなみに以前からも同様の機能は,SOAPというプロトコルでBing SOAP Serviceとして提供されていました。それらのSOAP APIに加えて,RESTという今風のAPIが追加されました。

Bing Maps REST Servicesは,今のところ公式に日本語情報は提供されていませんが,日本の地理情報を扱うことは可能です。本連載では,特に日本の地理情報の利用を想定してAPIを利用・紹介します。

Location API

今回はBing Maps REST Servicesのうち,Location APIを使ってみましょう。Location APIは,住所や経緯度などの地図情報を取得するAPIです。このAPIは,リクエスト形式によって次の3種類に分類されています。

  • 住所から情報を取得
  • 経緯度から情報を取得
  • クエリーから情報を取得

住所から経緯度などの地理情報を得る技術はジオコーディング逆に経緯度情報から住所などの情報を得るのは逆ジオコーディングと呼びます。このAPIの特徴はどちらも同じLocation APIで扱い,リクエスト形式が異なるもののレスポンス形式は同様の内容になっています。クエリー形式は,住所や東京タワーなどの地名や施設名から情報を得る形式です。

さっそくひとつの例を見てみましょう。次のようなURLにアクセスすると,以下のJSON形式の結果を得ます。

  • http://dev.virtualearth.net/REST/v1/Locations?countryRegion=JP&adminDistrict=東京都&locality=新宿区&addressLine=西新宿二丁目8番1号&key=BingMapsKey&c=ja-jp

※わかりやすいよう日本語はエンコード前の値を記載しています。

{
    "authenticationResultCode": "ValidCredentials", 
    "brandLogoUri": "http://dev.virtualearth.net/Branding/logo_powered_by.png", 
    "copyright": "Copyright © 2010 Microsoft and its suppliers.(省略)", 
    "resourceSets": [
        {
            "estimatedTotal": 1, 
            "resources": [
                {
                    "__type": "Location:http://schemas.microsoft.com/search/local/ws/rest/v1", 
                    "address": {
                        "addressLine": "2丁目8-1", 
                        "adminDistrict": "東京都", 
                        "countryRegion": "日本", 
                        "formattedAddress": "東京都新宿区西新宿2丁目8-1", 
                        "locality": "新宿区", 
                        "postalCode": "160-0023"
                    }, 
                    "bbox": [
                        35.686481029111, 
                        139.68893000133298, 
                        35.691888193111005, 
                        139.694337165333
                    ], 
                    "confidence": "High", 
                    "entityType": "Address", 
                    "name": "東京都新宿区西新宿2丁目8-1", 
                    "point": {
                        "coordinates": [
                            35.689184611111003, 
                            139.69163358333299
                        ], 
                        "type": "Point"
                    }
                }
            ]
        }
    ], 
    "statusCode": 200, 
    "statusDescription": "OK", 
    "traceId": "..."
}

URLに指定した値や,レスポンスの内容を見るとある程度使い方が想像できるのではないでしょうか。レスポンス形式はJavaScriptと連携しやすいJSON以外に,各種プログラミング言語でも扱いやすいXML形式が選択できます。また,レスポンス内容もある程度カスタマイズ可能です。

Bing Maps Key

APIを利用するには,Bing Maps Keyをあらかじめ取得しておく必要があります。このKey(文字列)をURLに指定して認証します。Bing Maps KeyはBing Maps Account Center図1で取得します。

図1 Maps Account Center――Bing Maps Keyの作成

図1 Maps Account Center――Bing Maps Keyの作成

Keyの作成は,アプリケーションの名前・URL・種類を入力します。初めて取得する場合は,その前に開発者アカウントを作成する必要があります

Bing Maps Keyは,Bing Maps REST Services以外にBing Maps Silverlight Control SDKなどのでも使います。こちらは,Bing Maps Keyの取得方法も含めて,使ってみよう! Windows Live SDK/API 第30回で紹介しています。

著者プロフィール

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

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

URL:http://katamari.jp

コメント

コメントの記入