我正在使用带有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吗?
答案 0 :(得分:3)
以下是我的情况:
似乎这样,trueheading-values不再变为-1!
(见下图)!
答案 1 :(得分:2)
要获取有效的标题数据,还必须配置CLLocationManager以更新位置。来自Apple文档:
注意:如果您希望标题对象包含有效数据 trueHeading属性,您的位置管理器对象也应该是 配置为提供位置更新。你可以开始交付 通过调用位置管理器对象来进行这些更新 startUpdatingLocation方法。
因此请致电startUpdatingLocation
请注意,'heading'是指定义的设备轴指向的方向。您可以使用[UIDevice currentDevice] .orientation读取的'orientation'告诉您设备的倾斜度。
答案 2 :(得分:1)
-1表示罗盘方向无效。您可能需要执行罗盘校准。