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

提供有关 a Geocoordinate. 此信息仅适用于使用卫星信号获取的位置估计。

Geolocator

提供对当前地理位置的访问权限。

Geopath

表示有序的地理点系列。

Geopoint

描述地理点。

Geoposition

表示可能包含纬度和经度数据或地点数据的位置。

Geovisit

表示与访问相关的状态更改。 有关如何使用此功能的信息,请参阅 有关使用访问跟踪的指南

GeovisitMonitor

处理应用在使用 (不在后台) 时监视用户的访问。

GeovisitStateChangedEventArgs

包含有关 VisitStateChanged 事件的信息。

GeovisitTriggerDetails

管理与访问相关的后台任务的触发器的详细信息。

PositionChangedEventArgs

PositionChanged 事件提供数据。

StatusChangedEventArgs

提供有关 StatusChanged 事件的信息。

VenueData

表示与地理位置关联的地点。

结构

BasicGeoposition

描述地理位置的基本信息。

接口

IGeoshape

用于定义地理形状的接口。

枚举

AltitudeReferenceSystem

指示要用于定义地理形状的海拔参考系统。

GeolocationAccessStatus

指示应用是否有权访问位置数据。

GeoshapeType

指示地理区域的形状。

PositionAccuracy

指示应用程序使用的位置数据所请求的准确性级别。

PositionSource

指示用于获取的 Geocoordinate源。

PositionStatus

指示对象提供位置数据的能力 Geolocator

VisitMonitoringScope

包含描述用于访问功能的位置监视的预期范围的值。

VisitStateChange

包含描述与访问相关的状态更改的值。

示例

使用此命名空间中的类的示例应用程序包括 地理位置示例Geotag 示例

另请参阅