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

overview

Directions API — неактуальный сервис навигации. Воспользуйтесь Routing API, чтобы строить автомобильные, грузовые, велосипедные или пешеходные маршруты через один сервис.

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

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

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

Получение ключа доступа

Чтобы воспользоваться сервисами навигации, получите ключ доступа к Routing API:

  1. Зарегистрируйтесь в личном кабинете Менеджер Платформы.
  2. Создайте демо-ключ или купите подписку для доступа к API.
  3. Обратитесь к документации Routing API, чтобы начать использовать 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"
}