1.首先要在UWP項目的Package.appxmanifest文件中配置位置權限,以下圖所示:git
2.Package.appxmanifest後選擇第三個選項卡,勾選位置權限(Location)app
打開異步
3.而後建立一個LocationManage類,包括如下代碼:async
public async static Task<Geoposition> GetPosition() { //請求對位置的訪問權 var accessStatus = await Geolocator.RequestAccessAsync(); //此時,窗口會彈出提示是否容許應用訪問位置,若是用戶不容許則拋出異常 if (accessStatus != GeolocationAccessStatus.Allowed) throw new Exception(); //實例化定位類,並設置經緯度精確度(單位:米),通常爲零,爲保護用戶隱私,建議減小精確度 var geolocator = new Geolocator { DesiredAccuracyInMeters = 0 }; //異步獲取設備位置,並將位置保存到變量中(Geoposition類型) var position = await geolocator.GetGeopositionAsync(); //返回位置 return position; }
4.此時,這個返回的是Geoposition類型spa
如今獲取輸出位置信息:code
給Page建立一個Loaded事件,以在應用加載的時候獲取設備當前位置blog
private async void Page_Loaded(object sender, RoutedEventArgs e) { //異步獲取位置,保存到變量中 var position = await GetLocation.GetPosition(); //維度 double lat = position.Coordinate.Point.Position.Latitude; //經度 double lon = position.Coordinate.Point.Position.Longitude; }
5.這樣就在應用加載完成後獲取用戶設備位置座標事件
6.初次以外Geoposition還包含如下經常使用屬性,也是很經常使用的:it
Coordinate.PositionSource 獲取是那個源定位的位置,好比WIFI,GPSio