win10 UWP 显示地图

最后更新于:2022-04-01 20:22:58

微软自带的地图很简单 引用地图`xmlns:Map="using:Windows.UI.Xaml.Controls.Maps"` 写在`` 然后在`Grid` 用Map来得到MapControl `` 运行 ![MapControl](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-08_5707636a355fa.jpg "") 提示 警告:未指定MapServiceToken 在功能把位置选 ![这里写图片描述](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-08_5707636a4907e.jpg "") 要获得位置需要权限 ![获得权限](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-08_5707636a5bc66.jpg "") 写一个按钮点击获得位置 MainPage.xaml.cs ~~~ //需要using Windows.Devices.Geolocation; var access = await Windows.Devices.Geolocation.Geolocator.RequestAccessAsync(); switch (access) { case GeolocationAccessStatus.Unspecified: //定位未开启提示是否跳转到 设置 页面 return; case GeolocationAccessStatus.Allowed: //允许获取 break; case GeolocationAccessStatus.Denied: //不允许获取位置信息时 给予提示 然后根据情况选择是否跳转到 设置 界面 await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-settings://privacy/location")); return; default: break; } var gt = new Geolocator(); var position = await gt.GetGeopositionAsync(); //以前的position.Coordinate.Latitude 方法在UWP中已经过时,不再推荐使用 //var latiude = position.Coordinate.Latitude; map.Center = position.Coordinate.Point; map.ZoomLevel = 10; ~~~ 因为 map.Center说的是Geopoint,王陈染大神说的是position = await gt.GetGeopositionAsync();类型是Geoposition,结果错误是出现了 > 无法将类型“Windows.Devices.Geolocation.Geoposition”隐式转换为“Windows.Devices.Geolocation.Geopoint” appButtonBar 正确的`map.Center = position.Coordinate.Point;` 点击就把地图中心设置在用户位置 参考:[http://www.wangchenran.com](http://www.wangchenran.com)
';