为什么我的标题不会使用Core Location更改?

时间:2013-03-22 23:05:13

标签: iphone ios ipad core-location

我正在使用带有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);

无论我指向哪个方向,结果总是“真正的标题:-1.000000”。

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

关于为什么这不起作用的任何想法?标题报告不适用于iPad 1st gen吗?

3 个答案:

答案 0 :(得分:3)

以下是我的情况:

  1. 选择位置服务(在隐私设置下)
  2. 选择应用列表底部的系统服务(位置服务中)
  3. 打开指南针校准
  4. 似乎这样,trueheading-values不再变为-1!

    (见下图)!

    enter image description here

答案 1 :(得分:2)

要获取有效的标题数据,还必须配置CLLocationManager以更新位置。来自Apple文档:

  

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

因此请致电startUpdatingLocation

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

答案 2 :(得分:1)

-1表示罗盘方向无效。您可能需要执行罗盘校准。