Angularjs 使用ionic和ngcordova计算用户使用的步幅

Angularjs 使用ionic和ngcordova计算用户使用的步幅,angularjs,cordova,ionic-framework,ngcordova,healthkit,Angularjs,Cordova,Ionic Framework,Ngcordova,Healthkit,我正在尝试做一个应用程序,比如计算用户使用的步数,比如see和 应用程序在play store中可用 在浏览谷歌后,我发现了一个使用的教程,但我只想创建一个带有GPS检测或类似传感器的移动设备的应用程序。我尝试过使用accelerate搜索,但我不知道如何使用它。请在这部分提供任何提示 我的要求只是计算用户单击按钮后使用的步数,并在单击停止按钮后停止计算步数 如果有人知道这一点,我在ionic help me中没有找到任何插件、博客或示例应用程序。当用户开始旅程时,获取他们的GPS位置。然后每隔

我正在尝试做一个应用程序,比如计算用户使用的步数,比如see和 应用程序在play store中可用

在浏览谷歌后,我发现了一个使用的教程,但我只想创建一个带有GPS检测或类似传感器的移动设备的应用程序。我尝试过使用accelerate搜索,但我不知道如何使用它。请在这部分提供任何提示

我的要求只是计算用户单击按钮后使用的步数,并在单击停止按钮后停止计算步数


如果有人知道这一点,我在ionic help me中没有找到任何插件、博客或示例应用程序。

当用户开始旅程时,获取他们的GPS位置。然后每隔一段时间(大约5到10秒)获取他们的新GPS位置。将这些位置构建到列表中。geoJSON为存储这些数据定义了良好的数据结构。它最终会看起来像这样:

 { "type": "FeatureCollection",
"features": [
  { "type": "Feature",
    "geometry": {
      "type": "LineString",
      "coordinates": [
        [102.0, 0.0], [103.0, 1.0], [104.0, 0.0], [105.0, 1.0]
        ]
      }

   ]
 }
有相当多的库可以采用这种格式并将其转换为总距离。我相信谷歌地图Api就是其中之一。我最喜欢的是Postgis()。如果设置后端服务来存储计算结果,则可以使用Postgis存储此“LineString”对象()。需要确保的一点是,Postgis使用的参考(SRID)与从设备收集的参考(SRID)相同。我猜应该是4326

一旦找到距离,步数就是用户步长的函数

#steps = distance / step length.

由于GPS不是100%精确的,计算步骤可能会很棘手。但你可以做到以下几点

使用插件并添加一个手表位置,每2秒左右显示一次lat long。但当应用程序处于后台时,它将不起作用。因此,在其中添加代码。看

或者,如果它符合您的要求,您也可以使用它

测试它,并确定用户可以在2秒或1秒的超时时间内采取多少步骤。在
watchPosition
的成功回调中设置计数器,并继续添加您确定的值

请记住,这不可能准确,因为您依赖GPS。
此外,如果用户运行速度比正常速度快,则这种逻辑可能会失败。考虑添加更多的传感器支持以获得准确的结果。但是快速看了一眼之后,这些是我得到的可能有用的链接-@Gandhi谢谢你的回复,但我只需要像我在问题中解释的那样用设备来检测脚步,而且计步器只与ios8+设备和非常先进的android设备一起工作。你试过爱奥尼亚的官方库中的步进计数器和计步器吗?他们为你的应用程序工作的很棒这里是链接:-当然是一个很好的教程:-我不能跟随你,你能给我一些简短的解释和一步一步的指导,什么GPS库和如何在爱奥尼亚使用需要一些很好的解释,每个人都要遵循没有GPS有其他的方式移动应用程序如何发挥作用商店运作准确,你能帮忙吗me@MohanGopi当然可以我们来聊天,进一步讨论