1

在使用 的getLastKnownLocation()方法时LocationManager,我注意到它获得的位置只有在我移动大约 50 m 时才会发生变化。

尽管GPS在我测试它的区域能见度很高,定位误差应该在 5 m 左右。我想知道是否内置了任何“距离变化”约束getLastKnownLocation(),这样它只会在位置变化一定量时更新其保存的位置[就像你可以在 上放置距离约束一样requestLocationUpdates()]。

如果是这样,有谁知道那个距离限制到底是什么?

谢谢!

4

1 回答 1

3

getLastKnownLocation()方法将仅返回最后一次 GPS 定位的位置 - 无论它是由您的应用程序还是第三方应用程序获得的。它不会返回您当前的位置,并且如果您移动大约 50 米,它也不会改变 - 至少在没有其他应用程序使用 GPS 时不会改变。

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

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

Android 开发团队成员 Reto Meier去年也在 Google I/O 上发表了演讲,他谈到了位置服务的使用,包括getLastKnownLocation().

于 2012-08-14T08:00:40.210 回答