ios - iPhone : offset with compass heading values between landscape right and landscape left

标签 ios augmented-reality cllocationmanager compass-geolocation

需要说明的是,我的问题不是读取左右横向的航向值。它工作正常 我正在使用位置管理器并减去 90° 以读取横向右侧的航向值和横向左侧的 270°,默认情况下设备始终被视为纵向模式,这就是我们必须进行此调整的原因。

我最近开发了一个基于位置的增强现实应用程序,我遇到的情况是,左右横向之间的航向值始终存在偏移。我在“现场”进行了测试,偏移量约为 12°。

我希望这个应用程序尽可能准确,我的意思是因为我们在这里依赖传感器数据并且这是第一个版本,所以小于 10° 是可以接受的(在最坏的情况下甚至是 15°)。但是,如果我们在现有误差上添加 12° 的偏移量,那就很烦人了。

有人对此有解释吗?即使我现在无法修复它,我也想拥有一个。所以现在我试图通过向左横向增加 12° 来“解决”这个问题,或者我应该向右横向减去 12°,我不知道!

在这个问题上有什么经验吗?

最佳答案

我的经验是指南针不是很好,尤其是在横向 View 中。我不会在一个 View 中减去 12°,因为差异可能在另一台设备上有所不同。我建议您在继续之前先在一两部其他 iPhone 上进行测试。

此外,您是否正在设置 LocationManager 的 View ?

CLLocationManager *compassManager;
compassManager.headingOrientation =CLDeviceOrientationLandscapeLeft;

关于ios - iPhone : offset with compass heading values between landscape right and landscape left,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13358364/

相关文章:

ios - 如何在 Expo 项目中获取 iOS 的 'facebookScheme'?

ios - 如何使用 ARKit 将 SCNScene 与物理表对齐?

ios - 无法设置 View Controller 的标题

ios - ARKit – 沿特定轴拖动节点(不是在平面上)

ios - ARSKView 快照 iOS

iphone - CLLocation再次请求许可

objective-c - 当在我的 iPhone 应用程序项目中使用指南针模式时,MKMapView 相反

iPhone:核心位置弹出问题

ios - 如何修改Unity自动生成的xCode项目?

ios - 在点击任何 UIControl 对象时关闭键盘