我发现可以从设备中检索到CMAttitude,并且从中读取3个值(俯仰角、翻滚角和偏航角)。
据我所知,这个CMAttitude对象由CoreMotion进行管理,它是一个传感器融合管理器,可以将罗盘、陀螺仪和加速度计等数据一起计算得出正确的结果(在Android上,它是SensorManager类)。
那么我的问题是:
这些值(俯仰角、翻滚角和偏航角)是否相对于地磁北极和重力?
如果以上是正确的,如何修改才能给出相对于地理北极的结果?
如果设备(例如iPhone 3GS)没有陀螺仪,我需要告诉管理器还是只需要告诉它基于其拥有的传感器(acc + gyro + compas OR acc + compas)给我设备的姿态?