为什么 FusedLocationProviderApi 从不报告精度优于 10m?这有记录吗?
Why does FusedLocationProviderApi never report accuracy better than 10m? Is this documented?
直接使用 LocationManager
的数据收集应用已更新为使用 FusedLocationProviderApi
。使用 LocationManager
,大多数设备在收集位置时会快速报告 5 米或更好的精度。使用 FusedLocationProviderApi
,有史以来报告的最佳精度是 10 米。
我刚刚安装了一个位置演示应用程序并看到了相同的行为 (https://github.com/will-quast/android-location-demo)。在 Fused Location activity 中,如果我只显示 GPS 位置,精度会随着我对天空的更好观察而改变,它可以下降到 2 米。如果我只显示融合,我得到的分数与 LocationManager
报告的相同。这是有道理的——我将 Android 设置为仅将 GPS 用于定位,并将优先级设置为 PRIORITY_HIGH_ACCURACY
,因此我希望这两个点始终相同。但是使用融合提供程序显示的最佳精度是 10m。
为什么融合提供者从不报告小于 10m 的精度?这在某处有记录吗?有什么解决办法吗?还是应该在需要准确感时始终使用 LocationManager
?
FusedLocationProviderClient
目前不是一个选项,因为它需要对 Google Play 进行更新,并且此应用程序用于 Google Play 更新过大的资源受限区域。 了解它是否报告低于 10 米的精度仍然有用。它也从不报告低于 10 米的精度,Android 设置设置为仅使用 GPS。
编辑 4/9 - 相关问题:
- Dramatic shift in location accuracy distribution starting February 15
- Wierd and very unexpected issue with location.getAccuracy()
没有。这只是尽力而为。不保证。
如果您拥有良好的设备,并且位于拥有大量 Android 用户的位置。 (例如,SSID 数据库会变得更准确),它可以达到 2-3m 的精度。
否则,混合来自不同来源的位置信息会产生较大的方差,导致准确度降低。
例如
源 A 精度为 5m。
源 B 精度为 15m.
单独使用 Source A 当然精度是 5m。
但如果混合 A 和 B,精度当然会 >= 5m。
(考虑为干净的数据添加噪声)
这已被确认为 Google Play 服务错误 on the Google issue tracker。预计 Play Services 13.4.0 将进行允许精度低至 3m 的修复。目前还不清楚为什么它会被限制在 3 米,而不是使用原始位置源报告的精度。
直接使用 LocationManager
的数据收集应用已更新为使用 FusedLocationProviderApi
。使用 LocationManager
,大多数设备在收集位置时会快速报告 5 米或更好的精度。使用 FusedLocationProviderApi
,有史以来报告的最佳精度是 10 米。
我刚刚安装了一个位置演示应用程序并看到了相同的行为 (https://github.com/will-quast/android-location-demo)。在 Fused Location activity 中,如果我只显示 GPS 位置,精度会随着我对天空的更好观察而改变,它可以下降到 2 米。如果我只显示融合,我得到的分数与 LocationManager
报告的相同。这是有道理的——我将 Android 设置为仅将 GPS 用于定位,并将优先级设置为 PRIORITY_HIGH_ACCURACY
,因此我希望这两个点始终相同。但是使用融合提供程序显示的最佳精度是 10m。
为什么融合提供者从不报告小于 10m 的精度?这在某处有记录吗?有什么解决办法吗?还是应该在需要准确感时始终使用 LocationManager
?
FusedLocationProviderClient
目前不是一个选项,因为它需要对 Google Play 进行更新,并且此应用程序用于 Google Play 更新过大的资源受限区域。 了解它是否报告低于 10 米的精度仍然有用。它也从不报告低于 10 米的精度,Android 设置设置为仅使用 GPS。
编辑 4/9 - 相关问题:
- Dramatic shift in location accuracy distribution starting February 15
- Wierd and very unexpected issue with location.getAccuracy()
没有。这只是尽力而为。不保证。
如果您拥有良好的设备,并且位于拥有大量 Android 用户的位置。 (例如,SSID 数据库会变得更准确),它可以达到 2-3m 的精度。
否则,混合来自不同来源的位置信息会产生较大的方差,导致准确度降低。
例如 源 A 精度为 5m。 源 B 精度为 15m.
单独使用 Source A 当然精度是 5m。 但如果混合 A 和 B,精度当然会 >= 5m。 (考虑为干净的数据添加噪声)
这已被确认为 Google Play 服务错误 on the Google issue tracker。预计 Play Services 13.4.0 将进行允许精度低至 3m 的修复。目前还不清楚为什么它会被限制在 3 米,而不是使用原始位置源报告的精度。