首页 > 解决方案 > 如何解决 Windows.Devices.Geolocation.Geocoordinate 中的准确性问题?

问题描述

我正在编写一个 UWP 应用程序,在一种情况下,我需要使用 Windows 的地理定位。为此,我使用Windows.Devices.Geolocation.Geolocator. 但是,准确性存在问题。例如,如果位置传感器给我的数据的误差半径为3.87,那么地理坐标会将此值显示为3,即使Accuracy属性具有double类型。

位置传感器中的数据: 位置传感器中的数据

我从 Geolocator 收到的信息: 我从 Geolocator 收到的信息

精度属性是双倍的: 精度属性加倍

似乎地理定位器只是取数字的整数部分而忽略了小数部分。但是,当误差半径值小于 1 时会出现问题。

传感器中的数据: 传感器中的数据

我从 Geolocator 收到的信息: 我从 Geolocator 收到的信息

在这种情况下,我得到的Accuracy值为0。文档(此处)说,如果Accuracy值为0,则准确度级别未知,并且 Location API 优先考虑提供非零值的传感器。

SENSOR_CATEGORY_LOCATION 文档: SENSOR_CATEGORY_LOCATION 文档

Geolocator 开始通过 IP 地址获取数据(Accuracy165852他来说,这个数据比 更准确0

使用 IP 地址进行地理定位: 使用 IP 地址进行地理定位

事实上,我总是需要使用精度低于 1 米的传感器。

有没有人遇到过这样的问题?你做了什么决定?

标签: c#windowsuwpgeolocationwindows-locationapi

解决方案


推荐阅读