-7

我正在尝试使用 android gps 的小型跑步者应用程序。这是我的情况。你能帮忙吗?或者告诉我任何可用的源代码当你走路时,它应该告诉你你的步行速度和你走过的距离。只有一个按钮

开始

当您按开始时,其标签应更改为 PAUSE

点击暂停应该暂停您的测量。当您按下 PAUSE 时,您现在应该显示 2 个按钮 STOP 和 RESTART

如果 GPS 未打开,它应该要求您打开手机 GPS。我可以看到您的应用程序确实可以识别它,稍微添加一下应该可以得到我正在寻找的东西。

我的要求非常简单。只是速度和距离

4

1 回答 1

2

对,这是我将采取的方法:

  • 创建一个空列表,其中包含具有 GPS 位置和 IsNew 标志的类
  • 在开始单击时,将当前 GPS 位置添加到列表中(IsNew = true),并作为计时器
  • 每 10 秒(可能会在测试后调整)在列表中弹出当前 GPS 位置(IsNew = false)
  • 如果单击暂停,则停止计时器并弹出当前 GPS
  • 恢复时,重新启动计时器,弹出当前 GPS (IsNew = true)
  • 停止时,停止计时器和弹出 GPS

现在,在所有这些结束时,您将获得一个带有一些 IsNew 标志的 GPS 位置列表,可能是这样的:

  • GPS = {x, y, z}, IsNew = true //开始按钮点击
  • GPS = {x, y, z}, IsNew = false //计时器已过
  • GPS = {x, y, z}, IsNew = false //计时器已过
  • GPS = {x, y, z}, IsNew = false //计时器已过
  • GPS = {x, y, z}, IsNew = false //暂停点击
  • GPS = {x, y, z}, IsNew = true //点击重启
  • GPS = {x, y, z}, IsNew = false //计时器已过
  • GPS = {x, y, z}, IsNew = false //计时器已过
  • GPS = {x, y, z}, IsNew = false //计时器已过
  • GPS = {x, y, z}, IsNew = false //停止点击

现在该列表应该包含足够的信息,以便您使用一些不错的数学来计算总距离;-)(这里有一些信息

请注意,如果IsNew = true那样,则不应在总距离中包括它与前一点之间的距离。

此外,速度 = 距离 / 时间


当然,您可以采用另一种方法并在处理每个点时计算总距离。这将允许您提供“半实时”反馈。

为此,您将保留一个总距离计数器并使用每个 GPS 点更新它(即当计时器经过时)......使用这种方法,您可能可以避免存储“IsNew”标志的需要

于 2012-05-16T10:11:20.830 回答