在使用 LocationManager
的 getLastKnownLocation()
方法时,我注意到它获得的位置只有在我移动大约 50 m 时才会改变。
尽管 GPS
能见度很高,在我测试的区域定位误差应该在 5 米左右。我想知道 getLastKnownLocation()
中是否内置了任何“距离变化”约束,这样它只会在位置变化一定量时更新其保存的位置 [很像您可以放置距离约束在 requestLocationUpdates()
] 上。
如果是这样,有谁知道那个距离限制到底是什么?
谢谢!
最佳答案
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()
。
关于android - getLastKnownLocation 仅在位置变化 ~50 m 时更新。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11947693/