API производит расчет маршрутов через набор точек для автомобиля или пешехода, который может использовать городской общественный транспорт. Для пешего маршрута можно выбирать используемый транспорт - метро, электрички, наземный транспорт, ночные автобусы. Функция подходит не только для вычисления маршрута по точкам в заданной последовательности, но и позволяет переставить эти точки в оптимальном порядке для минимизации времени, проведенного на маршруте.
Адрес скрипта: mosmap.ru/api/api_route.php
Параметры запроса:
apikey – ключ пользователя. Обязательный параметр.
mode - Способ перемещения по маршруту. Допускаются значения walking для пеших маршрутов, transit для общественного транспорта или driving для расчета проезда на автомобиле. Значение walking является частным случаем значения transit, при выключении всех видов общественного транспорта из расчета с помощью дополнительных параметров. Значение transit используется по умолчанию если параметр не задан.
waypoints= - Начальные точки маршрута. Обязательный параметр.
metro – Использование в расчете метро, МЦК и МЦД. По умолчанию включено.
trains – Использовать в расчете электрички. По умолчанию включено.
groundtransport – использовать наземный транспорт, кроме ночных автобусов. По умолчанию включен.
nightbus - использовать ночные автобусы, по умолчанию выключено.
optimize – оптимизировать порядок точек.
returntostart – Возврат в первую точку
Параметры ответа.
Возвращается набор отрезков, соответствующий каждой паре точек:
previous_id – начальная точка отрезка.
current_id – конечная точка отрезка.
status – статус "OK" или “FAIL”.
duration – время отрезка.
distance – расстояние от начала пути.
polyline - набор координат отрезка.
Пример запроса:
mosmap.ru/api/api_route.php?apikey=4efdb87d-e940-4b19-9751-757c154ace9b&waypoints=55.73449,37.68191|55.73344,37.59027|55.63344,37.690&mode=driving
Пример ответа:
[ { "previous_id": 1, "current_id": 2, "status": "OK", "duration": 713, "distance": 8070, "polyline": [ [ 55.73449, 37.68191 ], [ 55.73431, 37.68191 ], .... [ 55.73397, 37.58995 ], [ 55.73397, 37.58995 ], [ 55.73366, 37.59041 ]] }, { "previous_id": 2, "current_id": 3, "status": "OK", "duration": 1251, "distance": 25477, "polyline": [ [ 55.73344, 37.59027 ], [ 55.73366, 37.59041 ], [ ..... [ 55.63295, 37.69476 ], [ 55.63144, 37.69371 ], [ 55.63111, 37.69349 ]] } ]