Bing Maps SDK for Windows Apps:地図の初期表示範囲を指定する

Bing Maps SDK for Windows AppsMapクラスを使用して地図を表示した場合、デフォルトの設定では地図の初期表示範囲は世界全体です。しかし地図アプリケーションでは起動時に表示する地図は世界全体の地図ではなく、特定の範囲の地図(例えばデバイスの現在位置を中心としてある程度拡大した地図)を表示したい場合が多いと思います。MapクラスではMapクラスの地図の初期表示範囲をCenterプロパティ(中心位置)とZoomLevelプロパティ(ズームレベル)を使用して指定することができます。

中心位置の指定

表示する地図の中心位置はMapクラスのCenterプロパティを使用して指定します。CenterプロパティはLocation型の値をとります。Locationクラスは通常、緯度と経度の座標値で初期化します。今回は東京スカイツリーの座標(緯度:35.710139、経度:139.810833)を使用しています。

[XAML]

<bm:Map>
     <bm:Map.Center>
          <bm:Location Latitude="35.710139" Longitude="139.810833" />
     </bm:Map.Center>
</bm:Map>

[C#]

myMap.Center = new Bing.Maps.Location(35.710139, 139.810833);

ズームレベルの指定

地図の中心位置とともにズームレベルを指定することで、地図の表示範囲を設定することができます。地図のズームレベルはZoomLevelプロパティで指定します。

[XAML]

<bm:Map ZoomLevel="18" />

[C#]

myMap.ZoomLevel = 18;

ズームレベルには1から19までの値を設定することができます。一般的に地図の精度を定義する縮尺(1/2,500、1/10,000 みたいなやつ)とズームレベルの関係については"Bing Mapsに表示されている縮尺について調べてみた"を参照してください。

以下は中心座標を東京スカイツリーの座標(緯度:35.710139、経度:139.810833)、ズームレベルを18に設定した場合の表示結果です。