getLastKnownLocation仅在位置变化~50 m时更新。为什么?

时间:2012-08-14 07:31:06

标签: android gps locationmanager

在使用getLastKnownLocation()的{​​{1}}方法时,我注意到它获得的位置只有在我移动大约50米时才会改变。

尽管LocationManager能见度很高,但我测试它的区域的定位误差应该在5米左右。我想知道GPS中是否存在任何“距离变化”约束,这样只有当位置变化一定量时才会更新其保存的位置[就像你可以在{{1}上设置距离约束一样}]。

如果是这样,有人知道这个距离约束是什么吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

getLastKnownLocation()方法仅返回上次GPS修复的位置 - 无论是您的应用程序还是第三方应用程序获取的。它不会返回您当前的位置,如果您移动大约50米,它不会改变 - 至少在没有其他应用程序使用GPS的情况下不会改变。

它应该用于给出用户的近似位置或作为“占位符”,直到获得新的数据。

有关详细信息,请参阅此博文: http://android-developers.blogspot.com/2011/06/deep-dive-into-location.html

Android开发团队成员Reto Meier去年也提到了a speech at Google I/O,其中谈到了位置服务的使用,包括getLastKnownLocation()