我看到我可以从设备中检索CMAttitude,并从中读取我需要的 3 个值(俯仰、滚动和偏航)。据我了解,这个 CMAttitude 对象由 CoreMotion 管理,CoreMotion 是一个传感器融合管理器,用于计算来自指南针、陀螺仪和加速度计的正确结果(在 Android 上是 SensorManager 类)。
所以我的问题是:
这些值(俯仰、滚动和偏航)是否与磁北和重力相关?
如果以上是正确的,我该如何修改它以给出相对于地理北方的结果?
如果设备(例如 iPhone 3GS)没有陀螺仪,我是否必须告诉经理或者我可以告诉它根据它拥有的传感器给我设备的姿态(acc + gyro + compas 或 acc + 指南针)