您好,我希望在解决一个问题时指出正确的方向,即当 iphone 的方向发生变化/更改时,需要对 didUpdateHeading:newHeading 执行哪些转换以使 CLHeading.trueHeading 的值旋转到始终表现得好像手机处于 CLDeviceOrientationLandscapeRight 的方向。
谢谢
最佳答案
我查看了苹果文档。 真航向是罗盘航向,已针对磁北和真北之间的差异进行了校正。在打印 map 上,这被称为磁偏角,这是因为真正的北极和磁北极不在同一个地方。磁极在缓慢漂移,但地轴的倾斜变化要慢得多。
真正的指南针上有一条线,您可以将它与针对齐以获得指南针读数。我认为您的问题可能会被重申为:我如何在 iPhone 中移动该引用线?目前它以纵向模式指向屏幕顶部。要将其放在 LandscapeRight 中的屏幕顶部(左侧的主页按钮),您可以尝试从航向中减去 90°。如果结果是否定的,则添加 360°。这会影响真实航向和磁航向,但它应该将引用“北”移动到“西”之前的位置(逆时针 90°)。
关于iphone指南针根据方向旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4394914/