使用GPS获取行驶距离

时间:2011-04-06 16:10:58

标签: android

我想跟踪我的车行驶距离。 当我的速度在KM / H

中大于0时,它会开始录音

我使用此代码获得了速度:speed = location.getSpeed()* 3.6;

想要这样做:

if(speed> 0)       //跟踪我的距离。

我只找到了如何计算两点之间的距离。 谢谢你的帮助。

3 个答案:

答案 0 :(得分:2)

我认为测试速度(或方向)过于复杂。

如果不考虑优化电池寿命(例如,您正在使用车载充电器),我会每隔n秒对位置进行采样,并根据当前和最后的坐标更新行进距离。 / p>

如果汽车没有移动,那么GPS坐标不应该改变(除非是由于准确性问题),所以行驶的距离在静止时不会改变。

如果你只对距离感兴趣,而不是路线,那么你只需要2点,当前和之前。

希望这有帮助,

Phil Lello

答案 1 :(得分:1)

  1. 保留您录制的所有积分的清单
  2. 对于列表中的每个点,计算到下一个点的距离(显然你知道如何做)并将其添加到totalDistance。

答案 2 :(得分:1)

这就是我如何处理这个有趣的问题:

  • 使用Sensor.TYPE_ORIENTATION来确定您的汽车何时改变方向,例如:转折点。定义一些阈值以准确地得出结论,并在那时获得GPS位置
  • 如果您在高速公路上驾驶很长时间(没有角落),请添加定期GPS点采样
  • 计算列表中最后两个点之间的距离,并获得两点之间的距离
  • 添加值以实时获得累积距离

这样,您可以使用接近实际值的线性线段来近似路径。