Перейти к основному содержимому

Обзор

Важно

Directions API доступен только в определённых вариантах размещения.

Directions API позволяет проложить маршрут на карте из одной точки в другую. Directions API поддерживает следующие типы маршрутов:

  • автомобильный маршрут, кратчайший по времени: с учётом текущих пробок или на основе статистических данных по пробкам;
  • автомобильный маршрут, кратчайший по расстоянию;
  • автомобильный маршрут в объезд платных и грунтовых дорог;
  • автомобильный маршрут для такси с учётом полос общественного транспорта;
  • пеший маршрут с учётом пешеходных переходов и обходом препятствий;
  • пеший маршрут внутри зданий с поэтажными планами;
  • велосипедный маршрут с учётом пешеходных переходов и с возможностью исключения из маршрута лестниц, надземных/подземных переходов и автомобильных дорог;
  • маршрут через несколько точек (до 10 точек с учётом конечной и начальной).

Для каждого маршрута Directions API может возвращать:

Пример запроса

Примечание

Примеры запросов ниже приведены для Directions API. Если вы перешли на использование Routing API, обратитесь к соответствующей документации.

Чтобы проложить маршрут, нужно отправить POST-запрос на endpoint /carrouting/6.0.0/global. В строке запроса укажите ваш ключ API в качестве значения параметра key.

https://routing.api.2gis.com/carrouting/6.0.0/global?key=API_KEY

Координаты точек маршрута и другие параметры нужно передать в виде JSON в теле запроса.

Например, чтобы построить автомобильный маршрут из точки A в точку B с учётом текущих пробок, можно отправить следующий запрос:

curl --request POST \
--url 'https://routing.api.2gis.com/carrouting/6.0.0/global?key=API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"points": [
{
"type": "walking",
"x": 82.93057,
"y": 54.943207
},
{
"type": "walking",
"x": 82.945039,
"y": 55.033879
}
]
}'

Массив points содержит координаты точек маршрута (x - долгота, y - широта). Первый элемент в массиве является точкой отправления.

Пример ответа

Запрос вернет объект, включающий длину маршрута в метрах (total_distance), время в пути в секундах (total_duration), список манёвров (maneuvers) и другие поля. Информацию о каждом поле можно посмотреть в Справочнике API.

{
"query": {
"points": [
{
"type": "walking",
"x": 82.93057,
"y": 54.943207
},
{
"type": "walking",
"x": 82.945039,
"y": 55.033879
}
]
},
"result": [
{
"algorithm": "с учётом пробок",
"begin_pedestrian_path": {...},
"end_pedestrian_path": {...},
"filter_road_types": [...],
"id": "1805336109018823561",
"maneuvers": [...],
"route_id": "...",
"total_distance": 15153,
"total_duration": 2204,
"type": "carrouting",
"ui_total_distance": {},
"ui_total_duration": "36 мин",
"waypoints": [...]
}
],
"type": "result"
}

Варианты размещения

  • Облако: методы Directions API недоступны. Для отправки прямых запросов на построение маршрутов к публичным endpoint-ам 2ГИС используйте Routing API.

    При работе через мобильный SDK используются специальные методы Directions API, доступ к которым предоставляется при получении ключа доступа к SDK.

  • On-Premise: все актуальные методы Directions API доступны при установке API-платформы 2ГИС в закрытом контуре. Подробнее см. в разделе API-платформа для сервера.

Методы, отмеченные как deprecated, устарели и не поддерживаются в обоих вариантах размещения.