Рассчитать скорость между двумя точками местоположения в Android - PullRequest
2 голосов
/ 20 ноября 2011

Кажется, это должно быть достаточно просто, но я не могу получить четкий пример того, как рассчитать мою скорость с помощью Android Location Services.

Все, что я хочу сделать, это рассчитать мою скорость на основе моего предыдущего и текущего положения GPS.getSpeed ​​() не работает, потому что его нужно установить в какой-то момент с помощью setSpeed ​​().

Итак, есть ли какой-нибудь пример кода, который я могу запустить в Eclipse для моего эмулятора Android, работающего с файлом GPX, который покажет мне мой темп в любом измерении (метры, футы, мили и т. Д., Да?)не имеет значения - я всегда могу преобразовать это в то, что мне нужно).

Заранее спасибо, Алекс

Ответы [ 2 ]

2 голосов
/ 20 ноября 2011

Вы просто имеете в виду что-то подобное?Дает скорость в м / с.

oldLocation.distanceTo (newLocation) / (newLocation.getTime () - oldLocation.getTime ())

1 голос
/ 22 ноября 2011

getSpeed ​​() не работает, потому что его нужно установить в какой-то момент с помощью setSpeed ​​().

(Если вы используете реальное устройство -). Нет, скорость определяется набором микросхем GPS, и она должна быть более точной, чем получение расстояния и времени между двумя последовательными точками. Вам не нужно setSpeed(). Позвоните hasSpeed(), чтобы узнать, действительна ли скорость.


(Если вы не используете реальное устройство) Я добился больших успехов, используя провайдера фиктивного местоположения, где вы можете установить желаемый объект Location с setSpeed() в метрах / секунду

Вот несколько способов сделать это:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...