получение скорости, с которой движется устройство
-
19-09-2019 - |
Вопрос
Я использую CLLocation.speed
чтобы узнать скорость движения устройства, но я каждый раз получаю 0.Я пытался
speed = ([newlocation getDistanceFrom:oldlocation]/[newlocation.timeStamp timeIntervalSinceDate:oldlocation.timeStamp])
Проблема в том, что время от времени он показывает неправильную скорость.
Решение
Есть небольшая конфигурация, которая вам поможет:
CLLocationManager
не отправит вам обновление, если пользователь не выйдет за пределы круга в своем текущем местоположении.Вы можете контролировать радиус круга (уменьшить его), чтобы получать более точные обновления.Видеть расстояниеФильтр.CLLocationManager
имеет контроль точности, который вы хотите установить на самый высокий уровень.Видеть желаемаяточность.
Лучше всего просто постоянно рассчитывать эту «скорость» и использовать слабый фильтр нижних частот для сглаживания результатов.
См. также этот вопрос для получения дополнительной информации: Местоположение ядра iPhone:Как получить наиболее точную скорость.