如何解决Xamarin Essentials 地理定位极不准确的位置
我在我的应用程序中使用 Xamarin Essentials 的地理定位功能作为一直运行的前台服务,并且我注意到在一些设备上我有时(虽然很少)获得的位置离它们实际应该的位置很远,看起来像这样:
Location history with incorrect location
对于位置,我设置了 60 秒的超时时间和可能的最佳准确度。屏幕截图上错误位置的 Accuracy
值为“8”,但距离正确位置的距离远超过 8 米。
这引发了以下问题:
-
该位置具有提到的属性
Accuracy
,它指的是“水平精度”。还有一个属性VerticalAccuracy
,但不清楚这是指在平原上看到的坐标还是指高度的准确性? -
这个单一位置的准确性如此糟糕的原因是什么?所有其他具有相似精度值的点实际上都非常准确。在这种情况下,它是要跟踪的最后一个位置,但有时也会在较长的跟踪会话中发生。
-
有什么办法可以防止这种情况发生吗?我正在考虑实施某种级别的统计函数来收集多个点并获得它们的平均值,但这并不能解决问题的根源。
解决方法
我发现如果我使用“Improve Location Accuracy = on”,我大约每 6 到 7 秒就会得到一个奇怪的位置。关闭后(仅使用 GPS)没有奇怪的位置。 S21+ 双频 GNSS/GPS。 但是,如果我搬到一个新位置,则报告的位置在我离第一个位置大约 20 码之前不会改变。在报告新值之前似乎需要一些阈值距离。
,具有双频 GPS/GNSS 的设备 Samsung Galaxy S21+ 5G。请注意,如果我运行“GPSTest”应用程序,我不会看到位置跳跃,当我移动时,我会实时看到位置的变化。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。