即使 phone 保留在 table 上,位置也会发生变化

Location change even when phone is kept on the table

从 android 位置管理器获取位置时,我遇到了问题。即使我坐在一个地方不动,我在 onLocationChange() 侦听器中获得的纬度和经度也总是在变化。我已将更新时间设置为 500 毫秒,更新距离设置为 5 米。知道如何解决吗?

正常 phones 的 GPS 偏移量约为 8 米,旧版本的偏移量约为 15-20 米。您可以将最小距离设置为 15 米以上,这应该会有所帮助。
如果您使用的是 NETWORK 提供商,那么它会从 WiFi 路由器和 Cellolar 塔获取它的位置。在这种情况下,如果 phone 更换手机信号塔或使用新的 WiFi,则位置可能会改变超过 20 米(WiFi 为 20-70 米,手机信号塔为 500-1500 米)。
你可以做的另一件事是考虑你所获得的位置的精度参数,它应该给你一个粗略的估计提供者错误(例如 GPS vs 网络 vs WiFi)你可以尝试理解phone是否在移动通过计算:

if (position_A.distanceTo(position_B) - position_B.getAcuracy() >0){
    do something. //location change.
}

更新 请参阅说明,虽然蓝点是您的设备为您提供的位置,但实际位置可以是蓝色半径内的任何位置。