Windows.Devices.Geolocation 命名空间
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供用于 获取当前位置 或随时间推移跟踪设备位置的 API。 位置信息可能来自从信标(如Wi-Fi接入点和手机塔)估算位置、来自设备的 IP 地址,也可能来自其他源(如 GNSS 或 GPS 设备)。 Windows.Devices.Geolocation API 提供所有可用源中最合适的地理位置数据。
位置信息的准确性取决于源。 纬度和经度可能在以下范围内有所不同:
- GPS: 在大约 10 米范围内
- Wi-Fi: 大约在 30 米到 500 米之间
- 细胞塔: 约300米至3000米之间
- IP 地址: 大约在 1,000 米到 5,000 米之间
除了纬度和经度,GPS 还提供有关航向、速度和海拔的信息。 当位置信息来自其他源时,此附加信息是可选的。
用户可通过 “设置” 应用中的 “位置隐私设置” 来设置其位置数据隐私。 应用只有在以下情况下才能访问用户的位置:
- 此设备的位置...打开 (不适用于Windows 10 移动版)
- 位置服务设置(位置)已打开
- 在“选择可以使用你的位置的应用”下,你的应用已设置为“打开”
有关位置隐私的详细信息,请参阅 Windows 隐私声明。
重要
从Windows 10开始,在访问用户的位置之前调用 RequestAccessAsync。 此时,你的应用必须位于前台,并且 RequestAccessAsync 必须从 UI 线程中进行调用。 除非用户向你的应用授予访问其位置的权限,否则你的应用将无法访问位置数据。
位置服务体系结构
定位服务体系结构的第一层由设备中的硬件组成。 这包括 GPS 接收器、Wi-Fi 和手机网络无线电。 它们都可以充当具有不同准确度和功耗级别的位置数据的提供程序。 硬件顶部是本机代码层。 此层直接与可用位置数据源通信,并根据数据的可用性和应用程序指定的性能要求,决定使用哪些源来确定设备的位置。 本机代码层还通过 Internet 与 Microsoft 托管的 Web 服务进行通信,以从数据库中查找与位置相关的信息。 定位服务的顶层是托管接口,通过 Windows SDK 附带的 DLL 公开。 应用使用此接口来启动和停止位置请求、设置应用所需的准确度级别,以及在本机代码层可用时接收位置数据。
类
CivicAddress |
不支持的 API。 |
GeoboundingBox |
表示定义地理区域的矩形。 |
Geocircle |
描述具有中心点和半径的地理圆。 |
Geocoordinate |
包含用于标识地理位置的信息。 |
GeocoordinateSatelliteData |
提供有关 地理坐标的其他信息。 此信息仅适用于使用卫星信号获得的位置估计。 |
Geolocator |
提供对当前地理位置的访问。 |
Geopath |
表示一系列有序的地理点。 |
Geopoint |
描述地理点。 |
Geoposition |
表示可能包含纬度和经度数据或地点数据的位置。 |
Geovisit |
表示与访问相关的状态更改。 有关如何使用此功能的信息,请参阅 访问跟踪使用指南 。 |
GeovisitMonitor |
在应用正在使用 (不在后台) 时,处理对用户的访问的监视。 |
GeovisitStateChangedEventArgs |
包含有关 VisitStateChanged 事件的信息。 |
GeovisitTriggerDetails |
管理与 Visits 相关的后台任务的触发器的详细信息。 |
PositionChangedEventArgs |
提供 PositionChanged 事件的数据。 |
StatusChangedEventArgs |
提供 StatusChanged 事件的信息。 |
VenueData |
表示与地理位置关联的地点。 |
结构
BasicGeoposition |
用于描述地理位置的基本信息。 |
接口
IGeoshape |
用于定义地理形状的接口。 |
枚举
AltitudeReferenceSystem |
指示用于定义地理形状的海拔参考系统。 |
GeolocationAccessStatus |
指示应用是否有权访问位置数据。 |
GeoshapeType |
指示地理区域的形状。 |
PositionAccuracy |
指示应用程序使用的位置数据所请求的准确性级别。 |
PositionSource |
指示用于获取 地理坐标的源。 |
PositionStatus |
指示 Geolocator 对象提供位置数据的能力。 |
VisitMonitoringScope |
包含的值描述用于访问功能的位置监视的预期范围。 |
VisitStateChange |
包含描述与访问相关的状态更改的值。 |
示例
使用此命名空间中的类的示例应用程序包括 Geolocation 示例 和 Geotag 示例。