【问题标题】:Location change even when phone is kept on the table即使手机放在桌子上,位置也会发生变化
【发布时间】:2015-07-02 20:16:00
【问题描述】:

从 android 位置管理器获取位置时,我遇到了一个问题。即使我坐在一个地方不动,我在 onLocationChange() 监听器中得到的纬度和经度总是在变化。我已将更新时间设置为 500 毫秒,并将更新距离设置为 5 米。关于如何修复它的任何想法?

【问题讨论】:

  • 可以忽略lat lng的微小变化
  • 我想要我的确切位置。我不能忽略经纬度的变化。
  • @RishabhSrivastava 你找到解决办法了吗?
  • @frozenOne 您需要检查 2 个点和手机传感器之间的距离,以了解设备是否真的移动了。

标签: android locationmanager android-location


【解决方案1】:

普通手机的 GPS 偏移量约为 8 米,旧手机的 GPS 偏移量约为 15-20 米。您可以将最小距离设置为 15 米以上,这应该会有所帮助。
如果您使用的是 NETWORK 提供商,则它会从 WiFi 路由器和 Cellolar 塔中获取位置。在这种情况下,如果手机更换了基站或选择了新的 WiFi,则位置可能会改变 20 米以上(WiFi 为 20-70 米,基站为 500-1500 米)。
您可以做的另一件事是考虑您所获得位置的准确性参数,它应该为您提供对提供商错误的粗略估计(例如 GPS 与网络与 WiFi),您可以尝试了解是否通过计算手机是否在移动:

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

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

【讨论】:

  • 像 google fit 这样依赖于步数或步行距离的应用呢?
  • 怎么样?我说的是 GPS 传感器,而不是使用它的程序。
  • 是的...如何管理距离。它必须精确到 1 米,但即使我不动,距离也会发生变化。
猜你喜欢
  • 2021-10-04
  • 2020-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多