[UWP开发]简单的地图导航应用开发
在一些应用中,需要有地图位置定位及前往该位置的路径导航功能。地图功能可以调用Windows地图实现。但调用Windows地图需要涉及应用切换,对于用户使用并不友好。需要通过在应用中加入地图来实现。
1 . 直接调用Windows地图
直接调用Windows地图功能使用特定的URI,包括bingmaps:,ms-drive-to:及ms-walk-to: 。具体的URI说明请参考说明文档。
给一个例子,步行从使用者所在的位置(定位)导航到给定坐标,名叫“北山”的地点:
Uri uri = new Uri(@"ms-walk-to:?destination.latitude=31.5035866365965&destination.longitude=112.523597655425&destination.name=北山");
var launcherOptions = new Windows.System.LauncherOptions();
launcherOptions.TargetApplicationPackageFamilyName = "Microsoft.WindowsMaps_8wekyb3d8bbwe";
var success = await Windows.System.Launcher.LaunchUriAsync(uri, launcherOptions);
2 .显示地图
在应用中显示地图,首先需要注册一个必应地图开发者账号,创建应用,获取密钥。
地图使用MapControl控件,在Xaml中引入命名空间。
xmlns:Maps="using:Windows.UI.Xaml.Controls.Maps"
添加地图控件。MapServiceToken
为你的密钥。
<Maps:MapControl
x:Name="MapControl1"
ZoomInteractionMode="GestureAndControl"
TiltInteractionMode="GestureAndControl"
MapServiceToken=""/>
3 .设置地图信息
设置地图中心,缩放比例等信息。
//地图中心
BasicGeoposition cityPosition = new BasicGeoposition() { Latitude =