получение скорости, с которой движется устройство

StackOverflow https://stackoverflow.com/questions/1713126

  •  19-09-2019
  •  | 
  •  

Вопрос

Я использую CLLocation.speed чтобы узнать скорость движения устройства, но я каждый раз получаю 0.Я пытался

speed = ([newlocation getDistanceFrom:oldlocation]/[newlocation.timeStamp timeIntervalSinceDate:oldlocation.timeStamp])

Проблема в том, что время от времени он показывает неправильную скорость.

Это было полезно?

Решение

Есть небольшая конфигурация, которая вам поможет:

  1. CLLocationManager не отправит вам обновление, если пользователь не выйдет за пределы круга в своем текущем местоположении.Вы можете контролировать радиус круга (уменьшить его), чтобы получать более точные обновления.Видеть расстояниеФильтр.

  2. CLLocationManager имеет контроль точности, который вы хотите установить на самый высокий уровень.Видеть желаемаяточность.

Лучше всего просто постоянно рассчитывать эту «скорость» и использовать слабый фильтр нижних частот для сглаживания результатов.

См. также этот вопрос для получения дополнительной информации: Местоположение ядра iPhone:Как получить наиболее точную скорость.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top