Почему CLLocationManager так ленив, когда установлен с низкой точностью? - PullRequest
1 голос
/ 05 октября 2010

Я обнаружил с помощью тестов, что установка низкой желаемой точности для CLLocationManager приводит к ошибочному поведению этого компонента.

Вот 2 теста, которые я сделал:

  1. Установите желаемую точность на kCLLocationAccuracyHundredMeters.Тогда устройство не может найти мою позицию так точно, как я хочу.Вот записи моего делегата CLLocationManager:

    Accuracy is 1500.000000 (desired accuracy is 100.000000)
    Accuracy is 1500.000000 (desired accuracy is 100.000000)
    

    Вот и все.Два события за 30 секунд с горизонтальной точностью 1500.

  2. Установите точность желаний на kCLLocationAccuracyBest.Тогда устройство находит меня!Же журналы:

    Accuracy is 1500.000000 (desired accuracy is -1.000000)
    ...
    Accuracy is 162.957953 (desired accuracy is -1.000000)
    ...
    Accuracy is 76.356886 (desired accuracy is -1.000000)
    ...
    Accuracy is 47.421634 (desired accuracy is -1.000000)
    

    Я на том же месте, где я был для теста 1, но на этот раз устройство способно найти мое местоположение с точностью, которую я сначала хотел (т.е. 100,0).

Я повторил эти два теста много раз, для получения одинаковых результатов.

Мой вопрос:

«Кто-нибудь знает, почему устройство iPhoneне стараюсь найти свою позицию, когда я устанавливаю точность kCLLocationAccuracyHundredMeters? ”

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

Спасибо, что поделились своим опытом.(тесты проводились на устройстве 3GS через Wi-Fi и телефонную сеть)

1 Ответ

1 голос
/ 06 октября 2010

Более детальные настройки попытаются найти вас только через сотовую связь и триангуляцию Wi-Fi, что не совсем точно.kCLLocationAccuracyBest собирается включить модуль GPS и использовать его, который должен достигать нескольких футов.Это не ошибка, вы получили требуемую точность в обоих случаях.

Разница в том, что GPS сжигает батарею гораздо больше, чем триангуляция, поэтому она не используется, если вам просто нужно разместитьустройство в неровной зоне.

...