Навигация | Pairs Directions API | Обзор | 2GIS Documentation

Pairs Directions API

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

Каждый маршрут должен состоять из двух точек: отправления и прибытия.

Pairs Directions API позволяет просчитывать следующие типы маршрутов:

  • автомобильные маршруты;
  • автомобильные маршруты с учётом полос общественного транспорта;
  • пешеходные маршруты;
  • велосипедные маршруты.

Для доступа к API нужен специальный ключ. Чтобы его получить, заполните анкету по адресу dev.2gis.ru/order.

Чтобы получить информацию о маршрутах, нужно отправить POST-запрос на endpoint /get_pairs/1.0/{routing_type}, где routing_type - нужный тип маршрута:

  • car - автомобильный маршрут;
  • taxi - автомобильный маршрут, включающий полосы общественного транспорта;
  • pedestrian - пешеходный маршрут;
  • bicycle - велосипедный маршрут.

В строке запроса укажите ваш ключ API в качестве значения параметра key.

https://catalog.api.2gis.com/get_pairs/1.0/car?key=API_KEY

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

В самом простом случае JSON может содержать три поля:

  • points - массив маршрутов. Каждый объект в массиве должен содержать 4 поля: долгота и широта точки отправления (lon1 и lat1) и долгота и широта точки прибытия (lon2 и lat2).
  • type - тип маршрута (оптимальный по времени с учётом пробок или кратчайший по расстоянию).
  • output - формат результата (полный или упрощенный).
curl --request POST \
 --url 'https://catalog.api.2gis.com/get_pairs/1.0/car?key=API_KEY' \
 --header 'Content-Type: application/json' \
 --data '{
   "points": [
      {
         "lon1": 82.933328,
         "lat1": 55.102268,
         "lon2": 82.958722,
         "lat2": 55.032594
      }
   ],
   "type": "jam",
   "output": "simple"
}'

Чтобы исключить области и типы дорог из маршрута, можно использовать дополнительные параметры запроса. Подробнее про типы маршрутов и использование дополнительных параметров можно посмотреть в разделе Directions API.

Запрос вернёт информацию о маршруте, включающую длину маршрута в метрах (distance) и время в пути в секундах (duration). При указании полного формата выдачи ("output": "full") запрос также вернёт полную геометрию маршрута.

[
    {
        "lon1": 82.933328,
        "lat1": 55.102268,
        "lon2": 82.958722,
        "lat2": 55.032594,
        "distance": 11146,
        "duration": 1509,
        "status": "OK"
    }
]