iPhone 指南针显示错误的航向俯仰角 > 约 45°

标签 iphone ios compass-geolocation magnetometer

这可能很难解释几何形状,所以我会小心拼写。这在标准 compas 应用程序和 CLLocationManager 中的数据中可见。

1)纵向手持手机时,假设俯仰角为0°

2) 当相机向上指向天空时(例如拍摄云的照片),俯仰角从 0° -> 90° 变化,其中 90 度是垂直向上。

3) 当手机向上倾斜(> 0 度并在“X”磁力计轴上旋转)并且手机处于大约(但不完全)45 度时,罗盘航向旋转 180 度。所以当相机仍然指向“N”时,指南针将报告“S”。

4) 对于下一个(大约)90 度,罗盘航向旋转 180 度。

航向的这种旋转对我来说是破坏性的,它与加速度计没有完全对齐。是否有关于使用 CLHeading 数据中的 RAW 数据(X、Y、Z)计算航向数据的好教程(我没有立即找到)?

最终结果是我希望指南针的方向始终与相机的方向一致。

最佳答案

您不能只依赖罗盘航向。请参阅此答案以了解您要查找的内容,尤其是 CMAttitude 对象的偏航属性以补偿您正在谈论的俯仰角: Compensating compass lag with the gyroscope on iPhone 4

关于iPhone 指南针显示错误的航向俯仰角 > 约 45°,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7741550/

相关文章:

iphone - 用于测试的设备和 iOS 版本的最佳实践。同一台设备需要多个 iOS 版本?

iphone - 如何在导航栏上添加 2 个按钮?

objective-c - 视频不播放 ios 6

ios - Google admob GADBannerView 无法识别的选择器

ios - 来自 UInt8 的 NSData

iphone - 从网站订购多个异步 JSON 解析

Android 磁力计返回随机值

iphone - 如果指南针不准确,我该怎么办

java - 如何在 Android 中的 Google map 选项菜单中添加指南针

iphone - 无法在 iPhone 上加载/安装应用程序