Android Fused Location 提供商迷路了

Posted

技术标签:

【中文标题】Android Fused Location 提供商迷路了【英文标题】:Android Fused Location provider gets lost 【发布时间】:2013-06-03 09:55:50 【问题描述】:

几周以来,我一直在测试 android 的新 Location API。一般来说,它们工作得很好,但是,新的位置提供者经常失去情节。

具体来说,我连接了一个基于the receive location updates example 的示例。它工作正常,并且按预期接收位置更新。

问题似乎出在 Fused 提供程序本身。在某些地区(尤其是我家周围),它完全迷路了。它会突然认为我离我所在的地方有几公里远。在我工作的地方(这是一个更密集的区域),它更加准确,并且总是合理地接近我实际所在的位置(在平衡模式下)。

我已经做了很多尝试来解决这个问题,包括当我怀疑它有错误时切换到 PRIORITY_HIGH_ACCURACY,或者使用旧的 LocationManager 来尝试获取 GPS 定位来确定我的真实位置。但似乎没有什么帮助太多。我怀疑谷歌在我家周围某些 WiFi 热点移动塔的位置上有不良数据,当它连接到某些塔时,它会突然从真实位置跳出几公里。这很烦人,还会干扰 Geofence API。有关如何解决此问题的任何建议?

【问题讨论】:

切换到旧的 LocationManager 和 GPS 没有多大帮助是什么意思? 抱歉,我没有收到您的评论通知。在不同的命名空间中有另一个 LocationManager:developer.android.com/reference/android/location/… 哦,是的,GPS 总能解决问题。错误的位置似乎与周围信号塔的读数错误有关。 见code.google.com/p/android/issues/detail?id=66160 【参考方案1】:

您可以忽略不准确的位置更新吗?我认为这段代码是在 Google IO 2013 上发布的,所以它可能仍然存在一些错误。

(我和你有同样的经历。农村地区,Fused Location 提供商正在为我提供各地的位置)

【讨论】:

嗨,很遗憾,我不能。它报告了高精度。例如,它会告诉我它是 11m 准确但它实际上偏离了 1.5km。然后突然又来了。现在我只需要仔细检查它的所有结果。我只是希望随着时间的推移他们会改进它。它在建筑密集的区域也更加准确。我想也许这里某些地方的移动塔信息已经过时了。 只为未来;我实际上忘记授予我的应用程序“android.permission.ACCESS_FINE_LOCATION”权限。 Fused Location Provider 仍然有效,但只会提供不准确的位置。 是的,不,我的位置肯定有好有坏。很多时候,融合的位置提供者的准确性令人惊叹,而无需接触 GPS。我发现在城市中尤其如此,GPS 有时会混淆。【参考方案2】:

有时会有一些WIFI AP的不良数据,这些数据往往会在一段时间后自行修复。可以在返回的准确性中找到有关您正在发生的事情的线索。如果当它去错地方时,准确度很大(数百米),这意味着融合的位置提供者正在使用一个小区位置。这可能意味着您居住的 AP 并不多,并且您只能偶尔获得一次 wifi 位置(或者偶尔您无法获得 wifi 位置)。随着算法的改进,FLP 应该能更好地避免这些跳跃。

如果您获得的错误位置精度较低(大约 30 米),则表明它是 wifi 位置,错误的 AP 数据库信息可能解释了问题。

【讨论】:

以上是关于Android Fused Location 提供商迷路了的主要内容,如果未能解决你的问题,请参考以下文章

Android:使用 Fused Location Provider 检查是不是启用了位置服务

Google Fused Location API 导致错误(Android)

如何使用 FUSED LOCATION API 优化电池 - Android

Android:关闭位置时,Google Fused Location 不起作用

Android - Google Maps V2 无法使用 Fused Location

Android 的 Fused Location Provider 的 LocationRequest 优先级有啥区别?