WP7に含まれるBing MapsのコントロールはBing Mapsのキーを要求します。ところが、このキーは通常のアカウントでは1つしか作れません。1アプリに1キーとすれば、試作品1つで終わってしまいます。
ただ単に現在位置を表示する程度の使い方で、1キーを消費するのも馬鹿馬鹿しいと思って調べてみると、単に現在位置の表示程度ならキー抜きで書けることが分かりました。
サンプルソース §
System.Deviceの参照追加
using Microsoft.Phone.Tasks;を先頭に追加
using System.Device.Location;を先頭に追加
private void button1_Click(object sender, RoutedEventArgs e)
{
GeoCoordinateWatcher watcher = new GeoCoordinateWatcher();
watcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>((sender2,e2) =>
{
watcher.Stop();
BingMapsTask bingMapsTask = new BingMapsTask();
bingMapsTask.Center = e2.Position.Location;
bingMapsTask.ZoomLevel = 18;
bingMapsTask.Show();
});
watcher.Start();
}
ポイント §
Bing Maps APIを使用する時には、キーが要求されます。Bing Mapsコントロールを使用する場合も例外ではありません。しかし、BingMapsTask経由で地図アプリを起動する場合はAPIを叩いているのは地図アプリであって自作アプリでは無いからキーは地図アプリが持つキーが使用されているはずです。つまり、自作アプリ側でキーを持つ必要がありません。
注意 §
別アプリを起動しているわけで、地図が見えている間は自分自身は止まってしまいます。復活するにはBACKボタンで戻ってもらう必要があります。