Точность курса приближается к отрицательной - PullRequest
1 голос
/ 11 октября 2011

Я пытаюсь показать компас на моем экране

if ([CLLocationManager headingAvailable]) {
    CLController.locMgr.headingFilter = 0.1;
    [CLController.locMgr startUpdatingHeading];
}

он переходит в метод и переходит в метод

- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading {
if (newHeading.headingAccuracy < 0){
    NSLog(@"heading accuracy < 0");
    return;
}
// Use the true heading if it is valid.
CLLocationDirection  direction = ((newHeading.trueHeading > 0) ?
                                   newHeading.trueHeading : newHeading.magneticHeading);

[self.delegate headingUpdate:direction];

}

Ранее он работалхорошо, но не знаю, что случилось сейчас,

Показывает "точность курса <0" .. </p>

1 Ответ

3 голосов
/ 14 октября 2011

Отрицательное значение headingAccuracy просто означает, что компас не может получить хорошее чтение в данный момент.Возможно, телефон находится рядом с каким-то сильным магнитным полем, или вам нужно помахать его цифрой 8, чтобы откалибровать компас.Это не значит, что ваш код неверен.

Просто игнорируйте обновления заголовков, где headingAccuracy <0, и используйте только другие значения, которые вы получаете.Это нормальное поведение. </p>

...