Использование GPS с CLLocationManager, некоторые проблемы - PullRequest
0 голосов
/ 18 ноября 2011

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

Начну с того, что я провел некоторые тесты по всему городу, но с плохими результатами, часто получая в качестве параметра от -1 до newLocation.course и newLocation.speed с "5" как newLocation.horizontalAccuracy.

1) с указанием того, что измерения должны измеряться в основном в фоновом режиме, как и многие другие приложения, отправляющиеся в путешествие, такие как ходьба, что и как мне следует настроить параметры моего CLLocationManager?

вот код:

   locationM = [[CLLocationManager alloc] init];
   [locationM setDelegate:self];
   [locationM setDesiredAccuracy:kCLLocationAccuracyNearestTenMeters];
   [locationM setDistanceFilter:kCLDistanceFilterNone];
   [locationM startUpdatingLocation];

2) Я думал, что точный способ отслеживать пройденное расстояние, скорость и высоту - это вызвать делегатаCLLocation каждые несколько секунд, когда NSTimer будет вызывать метод, содержащий [locationM startUpdatingLocation].Вы думаете, что это правильный путь?

3) Как извлечь хороший результат для скорости?Я думал, что каждый раз, когда я получаю newLocation, сравнение с предыдущим и посредством вычисления, которое экстраполирует скорость, достигается от точки A к точке B, например, с [newLocation distanceFromLocation: oldLocation].Или, если вы установили, что свойство свойства speed возвращает хорошие результаты?

У вас есть идея или хитрость, чтобы приложение работало хорошо?

Кратко повторите функции, должны получить скорость в км / ч.основанный на движениях, таких как бег, езда на велосипеде ... отслеживание маршрута в среднем точно, не повреждая батарею и работать строго в фоновом режиме

Я считаю, что всесторонний ответ мог бы стать руководством для многих новичков к главе GPS

1 Ответ

0 голосов
/ 28 ноября 2011

Вы рядом.Я бы использовал ваш фильтр, чтобы отсортировать обновления вашего местоположения.Убедитесь, что они достаточно точны для вас.должен быть один для заголовков, используйте его.Затем просто примите обновления местоположения в вашем методе -didUpdateToLocation.Я считаю, что получает обновления местоположения каждую секунду, пока работает -startUpdatingLocation.Нет необходимости в таймере или что-нибудь кричащее.

Ваши оставшиеся вопросы - просто математические задачи.Расчет пройденного пути и времени.Я не могу помочь вам в этом.Но есть множество других ответов, которые должны дать вам то, что вам нужно.

...