如何从Android中获取GPS的准确速度? 是的,我知道Location
类中的location.getSpeed()
方法。问题是,默认实现返回0.0作为速度:显然that is the default behavior。如何在Android中获取GPS中最准确的速度
什么我目前正在做的,如下,考虑位置对象A和B,其中A为第一考虑,B后:
a.distanceTo(b)/(b.getTime()-a.getTime());
(简化可读性,历史ArrayList
原代码协议)
问题是这样做有些不准确:在正常情况下,数据点彼此非常接近以至于GPS误差确实成为问题。要么我需要减少更新频率或计算相对于更远点的速度。前者我不想这样做,因为我希望获得尽可能高的频率,但也许我可以根据它们相互之间的距离过滤点数来计算速度。 我假定采用getSpeed()
方法的最佳解决方案是计算GPS卫星本身的速度,从而获得更准确的结果。 我使用getSpeed()
错误吗?
你好签证,我认为你应该包括精度参数的距离,当我们得到经纬度,从位置类登录,它不是100%准确的,位置类有方法命名“getAccuracy()”。它以米为单位返回int - 精度。你应该在计算中包含这个 – 2012-03-19 08:54:29
模拟器显然总是以0的速度回答,但真正的设备不应该。你在真实设备上遇到同样的问题吗? – Stefan 2012-03-20 08:21:04