使ってみよう! Bing API/SDK

第6回 Hello, Bing Map App!──Silverlightで作るBing Mapsアプリケーション(6)

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

Map Appコンテスト

この連載では紹介していませんでしたが,Bing Map Appのコンテスト,King of Bing Maps Challengeが公式で開催されており,先日その結果が発表されました。応募作品はすでにBing MapsのMap App Galleryから利用できます図1)⁠

図1 Map App Gallery

図1 Map App Gallery

今回はこのコンテストの受賞作品と応募されたMap Appを一緒にみていきましょう。Map App作成の参考にもなると思います。

Taxi Fare Calculator

まず1位に輝いたのは,Taxi Fare Calculator図2というMap Appです。名前の通りタクシーの料金を計算(概算)してくれるアプリケーションです。余談ですがMap Appのアプリケーション名は,名前から機能が想像できるほうがよさそうですね。

図2 Taxi Fare Calculator

図2 Taxi Fare Calculator

使い方は,まず,パネルからSelect Regionから大まかな地域(米国の州など)を選択します。当然ながら日本は対応していません。次に,現在地と目的地となる2か所を,住所または郵便番号で入力します。最後にボタンをクリックすると上図のように地図上にはルート結果,パネル上には,距離や時間と料金が表示されます。

このMap AppではBing MapsのWebサービス,Bing Maps SOAP Servicesも活用して,住所・郵便番号から経緯度の取得,2点間のルート探索を行っているようです。この SOAP Servicesは,Map AppのContractを利用してサービスのエンドポイント(URL)を参照できます。次のようにMap Appのプラグインで宣言することで使用できます。

[ImportSingle("Microsoft/CredentialsGrantingContract", ImportLoadPolicy.Synchronous)]
public CredentialsGrantingContract CredentialsGrantingContract { get; set; }

このMap Appで使用しているのは,GeocodeとRouteサービスです。以下のプロパティで取得できますが,固定の値ですので,わざわざContractを使用する必要もないでしょう。

var geocodeEndpoint = CredentialsGrantingContract.GeocodeEndpoint;
var routeEndpoint = CredentialsGrantingContract.RouteEndpoint;

通常このサービスの利用にはBing Maps 開発者アカウントとBing Maps Keyという認証キーが必要になりますが,このContractを利用すると使い捨ての認証キーを取得できます。

// plugin は Contract プロパティを宣言したプラグインのクラス
plugin.CredentialsGrantingContract.CreateCredentials(plugin.Token, Created);

// Created コード例
//private void Created(CredentialsResult result)
//{
//    // 使い捨て認証キー
//    TextBlock.Text = result.AuthenticationKey;
//}

サービスの実際の利用方法については,今回は割愛します。Visual Studioを利用するとSOAPを利用したクラスを自動生成できまずが,そのままのコードではMap Appで使えないようで少し編集やコツがいるようです。

GeoSales Tax

第2位のMap Appは,GeoSales Tax図3という米国の各州の税率を表示するアプリケーションです。

図3 GeoSales Tax

図3 GeoSales Tax

上図のように税率によって色を変えて州の領域を表示しています。住所または郵便番号から税率を表示し,またその場所へ移動します。ズームすると領域が細かくなり綺麗に区分けされています。

このMap Appも先ほどのSOAP Servicesを利用しているようです。その他の情報は外部サーバーから随時取得しているようです。

Ricky’s Data Viewer

第3位のMap Appは,Ricky⁠s Data View図4です。このMap Appは,位置情報を持った形式のファイルを読み込み,地図上に表示させることができます。対応している形式は,Shapefile(.shp)とその属性ファイル(.dbf)およびGeoRss,SQL Server 2008のデータ型のテキストです。いずれもサンプルファイルへのリンクやサンプルテキストがあるので,すぐに試せます。

図4 Ricky⁠s Data Viewer

図4 Ricky’s Data Viewer

Silverlightアプリケーションは,ローカルにあるファイルでも,ファイルを開くダイアログを経由すれば読み取ることができるので,これをうまく利用していますね。また各種Map Appのエンティティを活用しています。

著者プロフィール

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

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

URL:http://katamari.jp

コメント

コメントの記入