我正在开发一个办公室室内平面图应用程序,我必须在其中准确地显示办公室导航。要创建一个逻辑,我必须执行一项任务:
应用程序中应该有一个开始UIButton
,当我点击该按钮时,应该开始一个过程,在这个过程中,我必须从我开始步行的那个点找到以米为单位的距离,并从那个起点找到方向。
是否可以通过 CoreMotion 框架实现,如果可以,那么如何?
所以请建议我任何合适的解决方案。
我正在开发一个办公室室内平面图应用程序,我必须在其中准确地显示办公室导航。要创建一个逻辑,我必须执行一项任务:
应用程序中应该有一个开始UIButton
,当我点击该按钮时,应该开始一个过程,在这个过程中,我必须从我开始步行的那个点找到以米为单位的距离,并从那个起点找到方向。
是否可以通过 CoreMotion 框架实现,如果可以,那么如何?
所以请建议我任何合适的解决方案。
你可以。但是如果你使用加速度计获取距离的方式,根据我的经验,它的结果会很糟糕。
我推荐检查用户步数并通过步进计算距离的方式。
一般来说,这真的很难,而且可能无法使用 CoreMotion 加速度计。基本上,iPhone 传感器为您提供加速,您需要积分两次(即简单地乘以时间^2)才能到达距离。根据我的测试(和其他人),结果很糟糕。有一些技术可以改进 - 搜索传感器融合和卡尔曼滤波器以获取更多信息。
步数计数可能会非常准确 - 尽管可能不像办公室那样在很短的距离内,但您的运气会更好。
编辑:我得出的结论是你想使用 CoreMotion 和加速度计。您还可以使用 CoreMotion 和计步。看看CM Pedometer
:https ://developer.apple.com/library/prerelease/ios/documentation/CoreMotion/Reference/CMPedometer_class/index.html (注意:在iOS7中这是CMStepCounter
)。
查看 CMPedometer 示例的此答案:CMPedometer queryPedometerDataFromDate 返回错误 103