location.getSpeed () возвращает только то, что было установлено с помощью location.setSpeed ().Это значение, которое вы можете установить для объекта местоположения.
Чтобы рассчитать скорость с помощью GPS, вам нужно сделать небольшую математику:
Speed = distance / time
Так что вам нужно будетdo:
(currentGPSPoint - lastGPSPoint) / (time between GPS points)
Все конвертированы в футы / с, или вы хотите показать скорость.Вот как я это сделал, когда создал приложение для бегунов.
В частности, вам необходимо рассчитать абсолютные расстояния:
(sqrt((currentGPSPointX - lastGPSPointX)^2) + (currentGPSPointY - lastGPSPointY)^2)) / (time between GPS points)
Это может помочь создать новый класс TrackPoint.или что-то, что хранит местоположение GPS и время, в которое он был взят.