2011-12-28 39 views
1

与网络提供者一起使用LocationManager时,我的位置完全错误。我在非洲以外的海域获得位置信息,准确度在2000左右。我的Google地图显示的是准确的位置。在LocationManager中获取错误的位置

有没有人有什么问题的想法?当我使用getLastKnownLocation()时是一样的。

+1

你检查了实际的位置,非洲海对我来说听起来像0,0。 – Pyrodante 2011-12-28 21:03:43

+0

这就是问题所在!我将小值添加到我的GeoPoint中。最终发现这里的解决方案:http://stackoverflow.com/questions/2227816/how-to-give-double-value-to-geopoint-in-googlemap-overlays 谢谢! – 2012-01-06 12:14:44

回答

0

网络位置提供商是非常不准确的。通常如果你连接到WiFi,你可以在100米以内,但在手机信号塔上,2000米是非常正常的。这不是一个真正的问题,坚持不懈。

如果Google地图能够在GPS关闭的情况下获得准确的位置,那么很可能是由于他们进行了一些非常先进的位置管理。但不幸的是,2000米的网络位置在我的所有测试用例中都是正常的。

编辑:

这是说location.getAccuracy()的值是在2000年左右(不以米为单位的值)。

当getAccuracy()返回值2000时,它表示米。以下是The Docs说的getAccuracy()

以米为单位返回修正的精确度。如果hasAccuracy()为false,则返回0.0。

但它返回一个float值,虽然它不显示单位,它仍然是米。

+0

哦,对不起。也就是说,location.getAccuracy()的值在2000左右(不是以米为单位的值)。位置的准确性大约是世界的一半。我在瑞典,它说我在非洲,有点大;) – 2011-12-29 09:09:49

+0

@TobiasEkblom我更新了我的答案,并提供了进一步的解释。这是否解释? – Jakar 2011-12-29 20:13:11

+0

是的,现在我明白了准确性。我的问题是我使用了错误的值到我的GeoPint。但我把你的答案设定为一个正确的答案,尽管我不能对我的问题发表评论。 – 2012-01-06 12:17:17

相关问题