Окончательный алгоритм для определение наиболее точного результата, полученного с iPhone CoreLocation?

Кто-нибудь уже решил это? Я прочитал много сообщений на форуме и до сих пор не могу сказать, является ли это решенным вопросом ...

Учитывая, что didUpdateToLocation () может возвращать кешированную или неточную информацию, как узнать, есть ли у вас точное исправление?

Когда вы устанавливаете желаемую точность на kCLLocationAccuracyNearestTenMeters, HundredMeters, Kilometer, ThreeKilometer, кажется очевидным, что вы можете сравнить горизонтальную точность возвращаемых точек с желаемой точностью, чтобы решить, когда принимать точку.

Но значения kCLLocationAccuracyBestForNavigation и kCLLocationAccuracyBest равны -2 и -1 соответственно, так как я могу узнать, когда у меня есть желаемая точность ??

В настоящее время я проверяю возраст исправления и отклоняю любое исправление, которое слишком "устарело" по времени. Затем я проверяю, является ли горизонтальная точность отрицательной, и отклоняю ее, если это так. если я получаю положительное значение verticalAccuracy, я обычно использую это исправление, поскольку соответствующая горизонтальная точность также хороша.

Но эти проверки использовались, когда я искал точность в 10-100 метрах ... Я не знаю, что проверять, когда я бегу ... AccuracyBestForNavigation или ... AccuracyBest ?? Должен ли я выровнять постоянно работающий locationManager и никогда не ожидать его отключения и не фильтровать результаты ??

Кто-нибудь мудрее меня с ответом ??

Спасибо

8
задан morgman 6 October 2010 в 22:24
поделиться