Рассчитайте расстояние в реальном времени, пройденное с помощью карт Google - PullRequest
5 голосов
/ 21 марта 2011

Требуется найти расстояние в реальном времени, пройденное с помощью карт Google. Это должно быть рассчитано самим приложением телефона. Когда я имею в виду реальное время, я имею в виду, например, если пользователь путешествует в точку А, пользователь может добраться до этой точки разными способами, и я хочу рассчитать общее расстояние, пройденное пользователем в реальном времени, а не просто предположить, и вычислите расстояние между двумя точками (что не даст правильного ответа).

Я нашел эту проблему, но не смог найти никакого способа для этого.

Я лично думал о сохранении долготы и широты на телефоне в списке, и после того, как пользователь достигнет пункта назначения, расстояние вычисляется с использованием этих точек. Однако это означает, что мне нужно определить интервал, в котором хранятся эти точки (каждые 1 минуту или около того), что будет означать, что я буду размещать точки местоположения в списке, даже если пользователь фактически все еще находится на той же дороге, которая совершенно ненужно. Если только кто-нибудь не знает, как хранить очки в подходящее время или какое-то другое решение

Я более или менее озадачен этой проблемой, любая помощь действительно ценится

Мобильная платформа Android

Спасибо, MilindaD

Ответы [ 3 ]

1 голос
/ 21 марта 2011

Я думаю, что лучшее решение - сохранять положение каждые X секунд, а затем вычислять общее итерационное расстояние между ними, и чтобы получить время, вам просто нужно увидеть разницу между последней точкой и первой.

Так работают приложения для отслеживания GPS.

Надеюсь, это поможет;)

1 голос
/ 21 марта 2011

Я сделал это один раз, и это довольно просто. Используйте сервис с LocationListener. При каждом onLocationChanged () сохраняйте текущее местоположение. В конце вы можете рассчитать с помощью Location.distanceBetween () все расстояния между этими сохраненными местоположениями.

Имейте в виду, что это становится более точным с более быстрым отслеживанием Для прогулки вам нужно меньше обновлений, чем за рулем быстрой машины. Это можно установить с помощью minDistance и / или minTime в LocationManager.requestLocationUpdates ().

0 голосов
/ 21 марта 2011

вы можете попробовать взять начальную точку (IIRC их Long и Lat), затем конечную точку и вычислить евклидово расстояние между ними (см. http://en.wikipedia.org/wiki/Euclidean_distance).

Я думаю, что выЛучшее облегчение, чем двухточечное, поэтому возьмите третье (или более) значение и отработайте A-> B, затем добавьте B-> C.

Повторите для нужного вам результата.

чтобы получить время в пути.запустите часы и остановите их в конце (опять же, если хотите, вы можете взять прерывистые очки)

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