2

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

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

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

感谢您的时间。

4

2 回答 2

7

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

这与 GPS 确定的定位精度无关。如果你有一个固定的 GPS 接收器,它可以“完美”地看到天空,并随着时间的推移绘制它报告的位置,那么你会看到它在真实位置周围徘徊,向任何方向移动几米。如果您以非常小的步长累积行进的距离,围绕真实位置,您最终会得到显然将您带到月球并返回的距离。

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

于 2012-05-31T11:28:34.813 回答
0

您可以在 Location 对象上调用 getAccuracy() 来检查准确性。如果您的应用程序需要真正准确,您只能对具有高精度的值进行计数。

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

于 2012-05-30T14:31:19.870 回答