Skip to main content

Построение маршрута

Для построения маршрута необходимо указать 2 и более географических координат, между которыми будет построен оптимальный маршрут, с учетом пробок на дороге.

Потестировать маршруты.

Пункты назначения#

Для построения маршрута необходимо указать координаты в качестве JSON-массива. Маршрут будет учитывать координаты в той очередности, в которой они указаны в теле запроса.

Для каждого местоположения необходимо указать долготу и широту. Для конвертации адресов в географические координаты используйте Geocoder API.

Также с помощью параметра type можно указать в каком режиме должен строиться маршрут (от адреса до адреса, проезд через место и т.д.).

ПараметрОписание
latДолгота
lonШирота
typeТип местоположения, один из вариантов: break - конечный адрес, through - промежуточный адрес
heading(опционально) Предпочтительное направление движения для старта с данного местоположения. Это может быть полезно для мобильной маршрутизации, когда транспортное средство движется в определенном направлении вдоль дороги, и маршрут должен начаться в этом направлении. Heading указывается в градусах от севера по часовой стрелке, где север - 0°, восток - 90°, юг - 180° и запад - 270°.

По желанию вы можете включить следующую информацию о местоположении, не влияя на маршрутизацию. Эта информация передается в запросе и возвращается для вашего удобства.

  • name = Название места или организации. Название может использоваться в инструкциях, таких как "Вы прибыли к <НАЗВАНИЕ ЗАВЕДЕНИЯ>."
  • city = Название города.
  • state = Название области/региона.
  • postal_code = Почтовый индекс.
  • country = Название страны.
  • phone = Номер телефона.
  • url = URL с описанием места.
  • side_of_street = (только в ответе) Сторона улицы, на которой будет находится желаемый пункт назначения. Доступные значения: left и right.

Типы транспорта#

Маршрутизация СтарЛайн Карт поддерживает построение маршрута для разных видов транспорта. Для каждого типа транспорта будут работать свои ограничения и доступные параметры.

ТипОписание
autoСтандартный тип маршрута для легковых автомобилей
bicycleТип маршрута для велосипедной езды. Велосипедные маршруты следуют по обычным дорогам при необходимости, но избегают дорог без доступа для велосипедов.
truckСпециальный тип роутинга для грузового транспорта. Расчет маршрута для грузовых автомобилей наследует маршрут легковых, но проверяет наличие доступа для грузовых автомобилей, ограничения по ширине и высоте, а также весовые ограничения на дорогах.
pedestrianРежим навигации для пешеходов. В основном, пешеходные маршруты строятся по принципу кратчайшего расстояния с некоторыми исключениями: тротуары и пешеходные дорожки слегка предпочтительны, в то время как ступени или лестницы и переулки слегка избегаются.

Общие параметры#

Данные параметры доступны в случаях, когда тип транспорта указан auto, bus или truck.

ПараметрОписание
use_ferryИспользовать переправы. Возможные значения от 0 до 1. Значения ближе к 0 будут сигналом избегать переправы, а значения ближе к 1 наоборот.
use_tollsСтоит ли использовать платные дороги. Доступные значения в интервале от 0 до 1. Значения ближе к 0 сигнализируют об избегании платных дорог, а значения ближе к 1 наоборот.
top_speedМаксимальная скорость, с которой транспорт может двигаться. Используется для избегания дорог, где максимальная скорость выше скорости вашего транспорта. По умолчанию 140 км/ч.

Грузовые маршруты#

Данные параметры доступны и учитываются только при построении маршрутов для грузового транспорта (truck)

ПараметрОписание
lengthДлина грузового транспорта (в метрах). По умолчанию 21.64.
weightВес грузового транспорта (в метрических тоннах). По умолчанию 21.77.
axle_loadНагрузка на ось (в метрических тоннах). По умолчанию 9.07.
axle_countКоличество осей грузового транспорта. По умолчанию 5.
hazmatПризнак того, что транспорт перевозит опасный груз. По умолчанию false.

Общие параметры#

Общие параметры необходимо указать в самом начале JSON-объекта в запросе.

ПараметрОписание
unitsИспользуемая метрическая система. Возможны мили (miles или mi) и километры (kilometers' или km`). По умолчанию используются километры
alternatesКоличество альтернативных маршрутов, которые будут предложены помимо основного. Максимальное значение - 10.
Поддерживаемые языки для подсказок#
ЯзыкКод языкаОписание
en-USenEnglish (Английский)
ru-RUruRussian (Русский)

Содержимое ответа на запрос#

В ответ на запрос маршрута в ответе сервера будет содержаться JSON-документ со следующими полями:

ПолеОписание
codeКод статуса
routes Массив возможных маршрутов
uuid Уникальный идентификатор маршрута

Пример сокращенного ответа:

{  "code": "Ok",  "routes": [    {      "distance": 8117.764,      "duration": 2069.579,      "geometry": "...iiyjqBign{x@~Gh{A`Bj^bApTj@rM~Bng@r...",      "legs": [        {          "distance": 8117.764,          "duration": 2069.579,          "steps": [            {              "distance": 359,              "duration": 83.291,              "geometry": "iiyjqBign{x@~Gh{A`Bj^bApTj@rM~Bng@rAzYhB~`@xGnyAvAt[n@fN",              "maneuver": {                "bearing_after": 259,                "bearing_before": 0,                "instruction": "Двигайтесь на запад по улица Комиссара Смирнова.",                "is_toll": false,                "is_unpaved": false,                "location": [                  30.350981,                  59.962533                ],                "type": "depart"              },              "name": "улица Комиссара Смирнова",              "speed_limits": [                60,                60,                60,                60,                60,                60,                60              ]            }          ],          "summary": "Финляндский проспект, Биржевая площадь",          "via_waypoints": [            {              "distance_from_start": 4895.597,              "geometry_index": 190,              "waypoint_index": 1            }          ],          "weight": 3641.75        }      ],      "use_toll": false,      "use_unpaved": false,      "weight": 3641.75,      "weight_name": "auto"    }  ],  "uuid": "82cac74b-1a77-4109-908e-ec772ca4d700"}

Каждый маршрут содержит следующие параметры:

ПараметрОписание
distanceОбщая протяженность маршрута в километрах
durationОбщая продолжительность маршрута в секундах. Используя это значение, вы можете посчитать приблизительное время прибытия в пункт назначения
geometryГеометрия всего маршрута, закодированная с помощью google-esque polyline
legsРазбивка маршрута на сегменты и маневры
use_tollИндикатор того, что маршрут использует платные дороги
use_unpavedИндикатор того, что маршрут использует грунтовые дороги

HTTP коды и условия#

Ниже приведены HTTP-коды ответов API и условия, при которых они могут вернуться. В основном API следует стандартной HTTP спецификации.

HTTP кодСтатусОписание
200your_trip_jsonМаршрут успешно рассчитан
400Failed to parse json requestНекорректный JSON в запросе
400Failed to parse locationНекорректные координаты в запросе
400Insufficiently specified required parameter 'locations'Не был передан параметр locations
400Insufficient number of locations providedНеобходимо передать минимум 2 координаты
400Exceeded max route locations of XУказано слишком большое количество координат
400No suitable edges near locationВ данной области построение маршрута пока невозможно
405Try a POST or GET request insteadПоддерживаются только GET и POST запросы