Bing Maps SDK for Windows Apps:地図の種類を変更する

Bingの地図には道路、航空写真、外観図(バーズアイ/鳥瞰図)といった複数の種類があり、Bing Maps SDK for Windows AppsMapクラスでも表示する地図の種類をMapTypeプロパティを使用して指定することができます。

MapTypeプロパティに指定できるMap Type 列挙型には以下の値が含まれています。

  • Aerial:航空写真
  • Birdseye:概観図(バーズアイ/鳥瞰図)
  • Empty:空の地図(MapクラスにBingの地図を表示せず独自の地図を表示したい場合にこの値を使用する)
  • Road:道路

地図の種類の指定方法

表示する地図はxamlもしくはコードビハインドから指定することができます(何も指定しない場合の既定値は"Road"(道路)です)。

※以下の地図はすべて地図の中心座標とズームレベルを設定しています。表示位置の指定方法については"地図の表示範囲を指定する"を参照してください。

Aerial:航空写真

地図ではなく空から撮影された写真画像が表示されます。

[XAML]

<bm:Map MapType="Aerial" />

[C#]

myMap.MapType = Bing.Maps.MapType.Aerial;
概観図(バーズアイ/鳥瞰図)

Bing Mapsの利用規約を読む限りでは、Bing MapsのBasicキーを使用するWindowsストアアプリでは概観図は使用できないようです。詳細にについては"Bing Maps Key のライセンスについて調べてみた"を参照してください。

以下はブラウザで表示させた場合です。概観図はまだスカイツリーができる前の画像を使用しているようです(※2013年3月時点)。

Empty:空の地図

地図のコントロールには何も表示されません。独自のデータのみを表示したい場合などに使用します。

[XAML]

<bm:Map MapType="Empty" />

[C#]

myMap.MapType = Bing.Maps.MapType.Empty;
Road:道路

最もスタンダードな道路地図が表示されます。

[XAML]

<bm:Map MapType="Road" />

[C#]

myMap.MapType = Bing.Maps.MapType.Road;

表示する地図の種類の変更できないようにする

Mapsクラスのデフォルトの設定では、地図の左上に地図の種類を変更するためのナビゲーションバーが表示され、ユーザーは手動でアプリケーションに表示される地図の種類を変更することができます。

もしユーザーに地図の種類を変更して欲しくない場合は、MapクラスのShowNavigationBarの値をfalseに設定することでナビゲーションバーを非表示にすることができます。

[XAML]

<bm:Map MapType="Road" ShowNavigationBar="False" />

[C#]

myMap.ShowNavigationBar = false;


と言うかナビゲーションバー表示すると手動で地図の種類を概観図に変更できるので、利用規約で使用を禁止されているはずの概観図に表示を変更できちゃうんですよね。配布したアプリケーションでユーザーが概観図を使用しないようにするにはナビゲーションバーを消すしかないんですが、そうすると例えば道路地図と航空写真は切り替えたいってときにナビゲーションバーを自作するはめになるんですが・・・。うーん、利用規約読み違えてる・・・(´・ω・`)?