3

我在我的应用程序中实现了新的 LocationClient,但在进行测试运行时我注意到读数不正确。

我在没有 GPS 的情况下在外面开车。WLAN 开启。因此,定位精度只能是过去的 NETWORK。

我将 LocationClient 设置为LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY;并将更新间隔设置为 15 秒。

当我得到数据时,我用getAccuracy()和评估位置getTime()。这两个值都不可信。

我得到的精度为 25 到 50m,有时可达 100 米,这是 WIFI 位置的典型精度。但是,一旦我离开家,报告的位置(getAccuray() < 100)与我当前的位置没有太大关系(实际精度> 800m)。它最像手机信号塔的位置。在我旅行的那一小时内,位置从未更新过,因此总是指向同一个手机信号塔(顺便说一句,虽然我旅行了大约 3 公里,但我一直在那个地区)。

进行进一步测试后,我注意到在我关闭 wifi 后至少一分钟内位置和准确性没有改变。我正在走路,所以应该触发加速器。同样,位置与我所在的位置相去甚远,但准确度仍报告为 < 30m。大约 1-2 分钟后,然后以 >800 m 的准确度报告该位置,这是正确的。

我可以忍受很差的准确性,但我需要知道这一点。

当实际读数较旧时,时间也始终更新为最新时间。这似乎也是一个错误,有人已经为此在谷歌提出了问题。

总结这意味着我不能使用该功能。我将旧读数报告为当前读数和与读数不匹配的准确性。

测试在 Nexus 4 上完成的位置。电话已连接到 UMTS (3G) 单元。

这些是已知问题吗?有没有办法解决它(获得正确的准确性),还是我必须使用“旧” LocationManager

4

0 回答 0