iPod Touch 4G上的指南针磁力计

时间:2012-04-20 13:25:49

标签: iphone ios ipod-touch magnetometer

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

我也理解我需要使用CMMotionManager并设置deviceMotionUpdateInterval来实现此目的。然后,我可以使用- (void)startMagnetometerUpdates- (void)stopMagnetometerUpdates respectivley开始和停止更新。

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

我在网上看到了一些相当复杂的解释,但我会很感激像代码一样的代码。

编辑:我的错误是,无法在iPod Touch 4G上获得磁力计读数。

1 个答案:

答案 0 :(得分:1)

iPod touch没有磁力计(见apple-devices-with-magnetometer),所以无论你怎么称磁力计数据都不能是磁力计数据。

同样来自CMMotionManager Class Reference(我的重点)

  

CMMotionManager对象是运动服务的网关   由iOS提供。这些服务提供了一个应用程序   加速度计数据,转速数据,磁力计数据等   设备运动数据,如态度。这些类型的数据来自   使用设备的加速度计和(在某些型号上)其磁力计   和陀螺仪。

所以你将无法产生磁力航向。

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