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://routing.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://routing.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"
}
]