UWP Windows10开发获取设备位置(经纬度)

简介: 原文:UWP Windows10开发获取设备位置(经纬度)1.首先要在UWP项目的Package.appxmanifest文件中配置位置权限,如下图所示: 2.Package.appxmanifest后选择第三个选项卡,勾选位置权限(Location) 打开 3.
原文: UWP Windows10开发获取设备位置(经纬度)

1.首先要在UWP项目的Package.appxmanifest文件中配置位置权限,如下图所示:

2.Package.appxmanifest后选择第三个选项卡,勾选位置权限(Location)

打开

3.然后创建一个LocationManage类,包括以下代码:

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类型

 现在获取输出位置信息:

给Page创建一个Loaded事件,以在应用加载的时候获取设备当前位置

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还包含以下常用属性,也是很常用的:

  • Coordinate.PositionSource             获取是那个源定位的位置,比如WIFI,GPS

  • Coordinate.SatelliteData                获取卫星相关信息,如果是非GPS获取的位置,则为NaN
  • Coordinate.Speed                         获取以米/秒为单位的速度,返回类型:double
  • Coordinate.Timestamp                  通过位置确定的时间,返回类型:DateTimeOffset?
  • Coordinate.Point.Position.Altitude   获取当前位置海拔
  • 。。。。
目录
相关文章
|
6月前
|
智能硬件 Windows
在钉钉中,Windows智能硬件设备如何接入?
在钉钉中,Windows智能硬件设备如何接入?
63 1
|
6月前
|
缓存 Java 分布式数据库
[笔记]Windows核心编程《九》同步设备I/O和异步设备I/O
[笔记]Windows核心编程《九》同步设备I/O和异步设备I/O
|
数据安全/隐私保护 Windows
千人围观!在本地客户端、连接Windows实例、远程云服务器(本地设备使用Windows操作系统)
千人围观!在本地客户端、连接Windows实例、远程云服务器(本地设备使用Windows操作系统)
190 0
千人围观!在本地客户端、连接Windows实例、远程云服务器(本地设备使用Windows操作系统)
|
Windows
Windows操作系统:PCIE Axidma篇 2 多设备的准备及开发
在之前提到过的测试模式开启后,无须数字签名的axidma驱动就安装成功了,设备管理器中可以很开心的看到我们xilinx dma的设备,但是实际使用中,有时候并不会只用一台设备
282 0
Windows操作系统:PCIE Axidma篇 2 多设备的准备及开发
|
Windows
电脑故障由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备. (代码 19)
电脑故障由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备. (代码 19)
725 0
|
网络协议 网络虚拟化 Windows
测试vpn设备 带宽,丢包率windows使用iperf3
iPerf3是用于主动测试IP网络上最大可用带宽的工具。它支持时序、缓冲区、协议(TCP,UDP,SCTP与IPv4和IPv6)有关的各种参数。对于每次测试,它都会详细的带宽报告,延迟抖动和数据包丢失。
647 0
测试vpn设备 带宽,丢包率windows使用iperf3
|
Ubuntu 网络协议 Linux
开源云真机平台Sonic(Windows端)接入iOS设备实践
开源云真机平台Sonic(Windows端)接入iOS设备实践过程,及相关注意事项。
开源云真机平台Sonic(Windows端)接入iOS设备实践
|
缓存 Java Shell
[笔记]Windows核心编程《九》同步设备I/O和异步设备I/O
Windows核心编程《九》同步设备I/O和异步设备I/O
149 0
[笔记]Windows核心编程《九》同步设备I/O和异步设备I/O
|
Windows
Windows 技术篇-重装电脑系统后搜不到蓝牙设备问题,电脑连接蓝牙不成功原因及解决办法
Windows 技术篇-重装电脑系统后搜不到蓝牙设备问题,电脑连接蓝牙不成功原因及解决办法
2173 0
Windows 技术篇-重装电脑系统后搜不到蓝牙设备问题,电脑连接蓝牙不成功原因及解决办法
|
Web App开发 前端开发 程序员
在Windows笔记本上调试运行在iOS设备上的前端应用
在Windows笔记本上调试运行在iOS设备上的前端应用
133 0
在Windows笔记本上调试运行在iOS设备上的前端应用