Bing Maps SDK for Windows Apps:地図の表示範囲を変更する

Bing Maps SDK for Windows AppsMapクラスの地図の表示範囲はMapクラスのSetViewメソッドを使用して変更することができます(Mapクラス初期化時の初期表示範囲を指定する方法は"地図の初期表示範囲を指定する"を参照してください)。

以下では東京スカイツリーの座標(緯度:35.710139、経度:139.810833)を持つLocationクラスを生成して、その座標を中心にズームレベル18に地図の表示範囲を変更しています。一般的に地図の精度を定義する縮尺(1/2,500、1/10,000 みたいなやつ)とズームレベルの関係については"Bing Mapsに表示されている縮尺について調べてみた"を参照してください。

[C#]

var center = new Bing.Maps.Location(35.710139, 139.810833);
myMap.SetView(center, 18);

[実行結果]

地図の表示範囲変更時のアニメーション

Mapクラスの表示範囲が世界全体などの場合に上記のコードを実行すると、一瞬指定した範囲にズームするアニメーションが表示されます。このアニメーションによる処理完了までの遅延時間はSetViewメソッドの第3引数にTimSpanクラスを指定することで制御できます。例えば表示完了までの拡大アニメーションを3秒かけて実行したい場合は以下のようになります。ゆっくりと地図の範囲が指定した範囲に移動していきます。

[C#]

myMap.SetView(center, 18, TimeSpan.FromSeconds(3));


表示範囲変更時のアニメーションはアプリケーションを起動した際などは、良い演出になるかもしれませんがユーザーが頻繁に使用する処理の場合は煩わしくなってしまう可能性もあります。地図表示範囲が変更された際にまったくアニメーションを表示したくない場合は、遅延時間にBing.Maps.MapAnimationDuration.Noneを指定します。

[C#]

myMap.SetView(center, 18, Bing.Maps.MapAnimationDuration.None);