0

我知道无法从 iPod Touch 4G 上的 CoreLocation 框架获取磁航向读数,但可以使用 CoreMotion 框架生成磁力计读数。

我也明白我需要使用CMMotionManager和设置deviceMotionUpdateInterval来实现这一点。然后我可以开始和停止更新- (void)startMagnetometerUpdates- (void)stopMagnetometerUpdates相应的。

现在我有了原始磁力计数据 (x,y,z),如何使用它来实现磁航向?

我在网上看到了一些非常复杂的解释,但希望有一个类似示例的代码。

编辑:我的错误,不可能在 iPod Touch 4G 上获得磁力计读数。

4

1 回答 1

1

iPod touch 没有磁力计(请参阅apple-devices-with-magnetometer),因此无论您所说的磁力计数据都不能是磁力计数据。

同样来自CMMotionManager 类参考(我的重点)

CMMotionManager 对象是 iOS 提供的运动服务的网关。这些服务为应用程序提供加速度计数据、旋转速率数据、磁力计数据和其他设备运动数据,例如姿态。这些类型的数据源自设备的加速度计和(在某些型号上)其磁力计和陀螺仪。

因此,您将无法产生磁航向。

您看到的是来自 iPod touch 所拥有的其他传感器的运动数据。

于 2012-04-20T15:16:34.077 回答