使ってみよう! Bing API/SDK

第27回 続・使ってみよう! 地図データ用クラウドデータベース

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

はじめに

前回は,地図データ用クラウドデータベースが利用できるBing Spatial Data Servicesを活用したアプリを作成しました。今回は,少し補足的な内容になってしまいますが,これまでに紹介しきれていないData Source情報の取得やData Sourceの削除についてと,データ検索時のオプションについて紹介します。

Bing Maps AJAX Controlアップデート

今回の内容とは直接関係がありませんが,前回使用した地図コントロールのBing Maps AJAX Controlがアップデートしています。ここで簡単に紹介しておきます。バージョンは変わらず7.0となっています。

日本の地図では未対応のため,あまり使いどころがありませんが,次の機能を利用できるようになっています。

  • ルート検索および表示
  • 交通情報の表示図1
  • ショッピングモールなどの地図表示と情報の取得図2

図1 交通情報の表示

図1 交通情報の表示

図2 ショッピングセンターの表示

図2 ショッピングセンターの表示

以上の機能は,モジュールを追加する形で利用できます(スクリプトを遅延読み込みする)⁠このスクリプトを必要な時点でロードする機能自体も,Ver. 7.0の初期リリース後に追加されたものです。

また,次の機能も追加されています。

  • PolylineとPolygonで点線の描画
  • カスタムタイル画像の使用時に,ズームアニメーションに合わせてカスタムタイルの拡大・縮小表示
  • パンくずリスト(階層リンク)の表示図3
  • Bird⁠s eye表示の無効化,パン(移動)の禁止,ズームの禁止

図3 パンくずリストの表示

図3 パンくずリストの表示

パンくずリストの表示は,次のようにMapオブジェクトのオプションを付けるだけですので,すぐに対応できますね。

map = new Microsoft.Maps.Map(document.getElementById("map"),
     {credentials: key, showBreadcrumb: true});

前回のアプリのコードに,showBreadcrumbオプションを追加しています。

アップデート内容およびAPIに関しての詳細は,MSDN Libraryを参照してください。

Data Source情報の取得

さて,今回の内容に進みましょう。Data Sourceを作成後に,その情報を取得できます。一部の内容は第25回にもAccess IDを取得する方法として紹介しています。

取得できる情報は,Data Sourceの名前やEntity Typeの名前(データのコレクション名)⁠Data Sourceのメタデータです。ここでのメタデータとは,Data Sourceの作成時に定義したプロパティ名やその型についてです。

4種類のURLの書式で情報を取得します。いずれもHTTP GETメソッドでアクセスします。それでは,それぞれの内容をみてみましょう。

Data Source一覧の取得

Bing Maps Keyに関連付いているData Sourceの一覧を取得するには,次のURLにアクセスします。

  • http://spatial.virtualearth.net/REST/v1/data?
      $format=json&
      key=BingMapsKey

パラメーターは次の通りです。

名前説明
$format取得する形式
atom(規定の値)またはjson
keyマスターキーまたはクエリーとして指定したBing Maps Key

得られる情報は,Data Source名やEntity Type名,更新日時です。現在のAPIのバージョンでは,Data Sourceの更新はできないため(データの入れ替えのみ)⁠作成日時と同じです。また,Atom(XML)形式の場合,Query APIなどで必要なAccess IDの情報も含まれています。

AtomおよびJSON形式の結果は次のようになります。Data Sourceがふたつ含まれている例を示します。

Atom形式

<?xml version='1.0' encoding='utf-8'?>
<app:service xmlns:app="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:bsi="http://schemas.microsoft.com/bing/spatial/2010/11/odata">
    <bsi:copyright>
        © 2011 Microsoft and its suppliers.(省略)
    </bsi:copyright>
    <app:workspace bsi:updated="2011-06-19T08:59:09Z">
        <atom:title>
            GihyoSample
        </atom:title>
        <app:collection app:href="https://spatial.virtualearth.net/REST/v1/data/XXX/GihyoSample/FuelStores">
            <atom:title>
                FuelStores
            </atom:title>
        </app:collection>
    </app:workspace>
    <app:workspace bsi:updated="2011-05-17T13:37:22Z">
        <atom:title>
            Photo
        </atom:title>
        <app:collection app:href="https://spatial.virtualearth.net/REST/v1/data/YYY/Photo/TripPhotos">
            <atom:title>
                TripPhotos
            </atom:title>
        </app:collection>
    </app:workspace>
</app:service>

JSON形式

{
    "d": {
        "Copyright": "© 2011 Microsoft and its suppliers. (省略)", 
        "DataSources": [
            {
                "EntitySets": [
                    "FuelStores"
                ], 
                "Name": "GihyoSample", 
                "Updated": "Sun, 19 Jun 2011 08:59:09 GMT"
            }, 
            {
                "EntitySets": [
                    "TripsPhotos"
                ], 
                "Name": "Photo", 
                "Updated": "Tue, 17 May 2011 13:37:22 GMT"
            }
        ]
    }
}

著者プロフィール

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

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

URL:http://katamari.jp

コメント

コメントの記入