7

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

具体来说,我根据接收位置更新示例连接了一个示例。它工作正常,并且按预期接收位置更新。

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

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

4

2 回答 2

1

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

(我和你遇到同样的事情。农村地区,Fused Location 提供商正在为我提供各地的位置)

于 2013-08-03T18:20:13.247 回答
0

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

如果你得到的错误位置的精度很小(大约 30 米),这意味着它是一个 wifi 位置,错误的 AP 数据库信息可能解释了这个问题。

于 2013-09-17T23:20:07.410 回答