如何在iOS应用程序中每1/2秒获得步行距离(以米为单位)和方向?

时间:2015-04-09 06:53:07

标签: ios distance core-motion indoor-positioning-system

我正在办公室室内平面图应用程序,我必须准确地显示办公室导航。要创建逻辑,我将不得不执行任务:

应用程序中应该有一个开始UIButton,当我点击该按钮然后应该开始处理,我必须从我开始步行的那个点找到米的距离并找到方向从那个起点开始。

是否可以通过CoreMotion框架,如果是,那么如何?

所以请建议我任何合适的解决方案。

2 个答案:

答案 0 :(得分:0)

你可以。但是,如果你使用加速度计获得距离的方式,根据我的经验,其结果将是可怕的。

我推荐检查用户步骤并通过步进计算距离的方法。

  1. 计步
  2. 使用步数计算距离,用户的信息作为步高距离。

答案 1 :(得分:0)

一般情况下,使用CoreMotion加速度计非常困难。基本上,iPhone传感器为您提供了两次集成所需的加速度(即简单地乘以时间^ 2)以达到距离。根据我的测试(和其他),结果是可怕的。有一些技术需要改进 - 搜索传感器融合和卡尔曼滤波器以获取更多信息。

你可以更好地计算步数,这可能非常准确 - 虽然可能不像办公室那样短距离。

编辑:我得出结论,你想使用CoreMotion和加速度计。您还可以使用CoreMotion和步数。看看CM Pedometerhttps://developer.apple.com/library/prerelease/ios/documentation/CoreMotion/Reference/CMPedometer_class/index.html(注意:在iOS7中这是CMStepCounter)。

看一下CMPedometer示例的答案:CMPedometer queryPedometerDataFromDate returns error 103