【问题标题】:How can I get the current pitch, yaw and roll of the iPhone in Swift?如何在 Swift 中获取 iPhone 的当前俯仰、偏航和滚动?
【发布时间】:2017-12-12 10:42:34
【问题描述】:

我希望获得 iPhone 设备相对于基准位置的准确当前俯仰、偏航和滚动。很像在指南针应用程序中所做的。我在网上找到的大部分内容都是关于检测结果中的变化,而我正在寻找相对于基本位置的绝对位置,基本位置(pitch: 0, roll: 0, yaw: 0) 就是这个位置:

谁能建议我应该怎么做才能得到这个?我需要这个一次性的,基本上是函数调用的结果。

【问题讨论】:

    标签: ios swift gyroscope core-motion


    【解决方案1】:

    设备不会持续跟踪方向。您的应用需要指明它需要这些数据(通过Info.plist 文件)并开始监控它,然后您才能访问它。

    可以通过CMMotionManager 类的deviceMotion 属性访问该信息。它是可选的,如果设备不支持或者你没有提前开始监控数据,则表示它为零。

    您需要为startDeviceMotionUpdates(using:) 指定一个可用于此目的的参考框架,以便获得正确的值。你想要的可能是.xTrueNorthZVertical。请注意,此文档指出:

    请注意,使用此参考系可能需要移动设备来校准磁力计。它还要求位置可用,以便计算磁北和真北之间的差异。

    这可能意味着您不能只是自发地阅读它。您可能需要在您的应用启动或用户进入您需要它的视图时开始监控,并在稍后完成校准并且用户执行需要它的操作时检查该值。

    【讨论】:

      猜你喜欢
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-27
      • 2019-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多