Geolocator 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供对当前地理位置的访问。
public ref class Geolocator sealed
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Geolocator final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class Geolocator final
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class Geolocator
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class Geolocator
function Geolocator()
Public NotInheritable Class Geolocator
- 继承
- 属性
Windows 要求
设备系列 |
Windows 10 (在 10.0.10240.0 中引入)
|
API contract |
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)
|
应用功能 |
location
ID_CAP_LOCATION [Windows Phone]
|
示例
此示例演示如何使用 Geolocator 类检索设备的位置。 有关详细信息,请参阅获取当前位置。
using Windows.Devices.Geolocation;
...
var accessStatus = await Geolocator.RequestAccessAsync();
switch (accessStatus)
{
case GeolocationAccessStatus.Allowed:
// notify user: Waiting for update
// If DesiredAccuracy or DesiredAccuracyInMeters are not set (or value is 0), DesiredAccuracy.Default is used.
Geolocator geolocator = new Geolocator { DesiredAccuracyInMeters = _desireAccuracyInMetersValue };
// Subscribe to StatusChanged event to get updates of location status changes
_geolocator.StatusChanged += OnStatusChanged;
// Carry out the operation
Geoposition pos = await geolocator.GetGeopositionAsync();
UpdateLocationData(pos);
// notify user: Location updated
break;
case GeolocationAccessStatus.Denied:
// notify user: Access to location is denied
break;
case GeolocationAccessStatus.Unspecified:
// notify user: Unspecified error
break;
}
注解
版本历史记录
Windows 版本 | SDK 版本 | 增值 |
---|---|---|
1607 | 14393 | AllowFallbackToConsentlessPositions |
1607 | 14393 | DefaultGeoposition |
1607 | 14393 | IsDefaultGeopositionRecommended |
构造函数
Geolocator() |
初始化新的 Geolocator 对象。 |
属性
DefaultGeoposition |
获取用户手动输入到系统中的位置,如果没有更好的选项,将利用该位置。 |
DesiredAccuracy |
Geolocator 提供位置更新的准确性级别。 |
DesiredAccuracyInMeters |
获取或设置从定位服务返回的数据所需的精度(以米为单位)。 |
IsDefaultGeopositionRecommended |
指示是否应提示用户手动设置默认位置。 |
LocationStatus |
指示 Geolocator 提供位置更新的能力的状态。 |
MovementThreshold |
Geolocator 引发 PositionChanged 事件所需的相对于最后一个 PositionChanged 事件的坐标的移动距离(以米为单位)。 |
ReportInterval |
请求的位置更新之间的最短时间间隔(以毫秒为单位)。 如果应用程序不经常需要更新,请设置此值,以便定位服务仅在需要时通过计算位置来节省电源。 |
方法
AllowFallbackToConsentlessPositions() |
将 Geolocator 设置为使用粗糙位置作为回退选项 (请参阅备注) 。 |
GetGeopositionAsync() |
启动异步操作以检索设备的当前位置。 |
GetGeopositionAsync(TimeSpan, TimeSpan) |
启动异步操作以检索设备的当前位置。 |
GetGeopositionHistoryAsync(DateTime, TimeSpan) |
启动异步操作以检索设备的位置历史记录。 注意 此 API 并非适用于所有 Windows 应用。 除非你的开发人员帐户由 Microsoft 专门预配,否则对这些 API 的调用将在运行时失败。 |
GetGeopositionHistoryAsync(DateTime) |
启动异步操作以检索设备的位置历史记录。 注意 此 API 并非适用于所有 Windows 应用。 除非你的开发人员帐户由 Microsoft 专门预配,否则对这些 API 的调用将在运行时失败。 |
RequestAccessAsync() |
注意 一些信息与预发行产品相关,相应产品在商业发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。 重要 此 API 将受到即将于 2024 年秋季进行的操作系统行为更改的影响。 有关详细信息,请参阅 更改 Wi-Fi 访问和位置的 API 行为。 请求访问位置数据的权限。 |
事件
PositionChanged |
在更新位置时引发。 |
StatusChanged |
当 Geolocator 提供更新的位置的能力更改时引发。 |