【问题标题】:Magnetometer for Compass on iPod Touch 4GiPod Touch 4G 指南针磁力计
【发布时间】:2012-05-02 02:16:00
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: iphone ios ipod-touch magnetometer


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 道歉。我应该先检查一下。我试图弥补 CLLocationManager 中缺少标题的问题,但现在一切都说得通了。谢谢。
    猜你喜欢
    • 2012-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-27
    • 1970-01-01
    • 2011-08-31
    • 2015-01-05
    • 2012-02-18
    相关资源
    最近更新 更多