Рассчитать местоположение (широта, долгота) Х минут между двумя точками с помощью API карт Google? - PullRequest
3 голосов
/ 07 октября 2011

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

Единственные доступные мне данные - этовремя, когда этот автобус должен быть на каждой остановке между пунктом отправления и пунктом назначения.

Таким образом, используя время задержки для каждой остановки, я, очевидно, могу подсчитать, сколько секунд это до данной остановки.

На данный момент у меня есть карта, на которой просто изображен автобус на каждой остановке, как только он туда доберется - так что просто список автобусов на каждой остановке.

То, что я хочу сделать, это получитьпримерное местоположение автобуса на основе количества секунд, чтобы я мог сделать так, чтобы эти автобусы действительно двигались по маршруту.

Есть ли способ сделать что-то подобное?

1 Ответ

1 голос
/ 26 июня 2013

Используйте Google Directions API для расчета маршрута между автобусными остановками.Надеемся, что направления Google будут такими же, как и фактический маршрут, по которому ходит автобус.Если нет, вам нужно определить другой способ представления маршрута в виде набора точек широты и долготы.Некоторые альтернативные подходы:

  1. Используйте слои OpenStreetMaps, выберите и обозначьте свои автобусные маршруты и поместите их в свое собственное пространственное хранилище.
  2. Оцифруйте карту шины и, маркируйте и поместитеоцифрованные маршруты в вашем собственном пространственном хранилище.

Если API Google Directions приемлем, декодирует полилинию , возвращаемую в ответе Google, в набор широтных точек.Используйте время остановки и текущее время, чтобы рассчитать процент пройденного маршрута, и используйте процент, чтобы выбрать ближайшую точку полилинии.В зависимости от требуемого уровня точности, вы можете предположить, что между каждой точкой полилинии будет одинаковое время (нереально, но легко), или рассчитать расстояние между каждой точкой полилинии и выбрать ту, к которой вы ближе всего в данный момент времени.

Как только вы получите правильную точку на полилинии, используйте эту точку, чтобы нарисовать свои автобусы на карте.

...