计算Android中两个位置点之间的速度

时间:2011-11-20 16:21:54

标签: android gps locationmanager

这看起来应该很简单,但我似乎无法使用Android的位置服务获得如何计算速度的明确示例。

我想要做的就是根据我之前和当前的GPS位置来计算我的速度。 getSpeed()不起作用,因为需要使用setSpeed()在某个时刻设置它。

那么有没有示例代码我可以在Eclipse中运行我运行GPX文件的Android模拟器,这将以任何方式显示我的步伐(米,英尺,英里等等,无关紧要 - 我总能把它转换成我需要的东西。

提前致谢, 亚历

2 个答案:

答案 0 :(得分:2)

你的意思是这样吗?给你速度,单位为m / s。

oldLocation.distanceTo(newLocation)/(newLocation.getTime() - oldLocation.getTime())

答案 1 :(得分:1)

  

getSpeed()不起作用,因为需要使用setSpeed()在某个时刻设置它。

(如果您使用的是实际设备 - )。不,速度由GPS芯片组决定,它应该比获得两个连续位置之间的距离和时间更准确。您不需要setSpeed()。致电hasSpeed()查看速度是否有效。


(如果您没有使用实际设备)  我使用模拟位置提供程序取得了很大的成功,您可以使用Location以米/秒为单位设置所需的setSpeed()对象

以下是执行此操作的一些方法: