Windows.Devices.Geolocation 命名空间

提供用于 获取当前位置 或随时间推移跟踪设备位置的 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 示例

另请参阅