如何在Android上通过GPS跟踪距离?

时间:2012-05-30 14:20:45

标签: android gps location tracking distance

我如何跟踪用户旅行的距离?我不一定关心存储航点,尽管可能有必要计算距离。 到目前为止,我正在创建 LocationManager 并注册 onLocationChanged 侦听器,然后在侦听器触发时计算两点之间的原始距离。

这里的问题是,如果我让应用程序静坐在桌子上10分钟15分钟,它会说我已经走了0.5英里。我该如何检查准确性并确定使用哪些点?

或者,甚至更好 - 是否有SDK或.jar我可以在我的项目中包含并调用它们的函数来使整个事情变得更容易?

感谢您的时间。

2 个答案:

答案 0 :(得分:7)

我不是Android程序员,但在我自己的嵌入式处理器中实现了这项功能,其处理能力远低于运行Andriod的任何东西。

这与GPS确定的修复精度无关。如果你有一个固定的GPS接收器具有“完美”的天空可见性并绘制其随时间报告的位置,那么你会看到它在真实位置四处移动,向任何方向移动几米。如果你累积行进的距离,在非常小的步骤中,在真实位置周围,你最终会看到行进的距离显然会带你到月球和背部。

您需要设置一个大于GPS定位的位置精度的移动阈值,然后只有当您确定从最后一个移动步骤中添加的点移动时才添加行进距离

答案 1 :(得分:0)

您可以在Location对象上调用getAccuracy(),它可以检查准确性。如果您的应用需要真正准确,那么您只能以高精度计算值。

您还可以在LocationManager上调用getProviders()来检查您是否从wifi,gps或两者中获取坐标,并要求用户使用他们的gps(如果它当前未打开)以便您获得更多准确点。