2

我正在使用带有 iOS 5.1.1 的 WiFi iPad 第一代

我已经设置了类似于此博客文章的核心位置:http: //blog.objectgraph.com/index.php/2012/01/10/how-to-create-a-compass-in-iphone/

在:

- (void)locationManager:(CLLocationManager*)manager
didUpdateHeading:(CLHeading*)heading

我记录了真实的航向值:

NSLog(@"heading: %f", manager.heading.trueHeading);

无论我将 iPad 指向哪个方向,结果始终是“真实方向:-1.000000”。

我已经在所有 3 轴上旋转了设备并在设置中启用了定位服务。

关于为什么这不起作用的任何想法?航向报告是否不适用于第一代 iPad?

4

3 回答 3

3

这对我的情况有帮助:

  1. 选择定位服务(在隐私设置下)
  2. 选择应用程序列表底部的系统服务(在位置服务中)
  3. 打开指南针校准

似乎这样,trueheading-values 不再是 -1 !

(见下图)!

在此处输入图像描述

于 2014-12-27T15:34:04.450 回答
2

要获得有效的航向数据,您还必须配置 CLLocationManager 以更新位置。从苹果文档:

注意:如果您希望标题对象包含 trueHeading 属性的有效数据,您的位置管理器对象也应配置为提供位置更新。您可以通过调用位置管理器对象的 startUpdatingLocation 方法来开始传递这些更新。

因此调用startUpdatingLocation

请注意,“朝向”是指定义的设备轴指向的方向。您可以使用 [UIDevice currentDevice].orientation 读取的“方向”告诉您设备的倾斜度。

于 2013-03-23T01:13:02.147 回答
1

-1 表示指南针航向无效。您可能需要执行指南针校准。

于 2013-03-23T04:32:22.763 回答