Multi routes

Multi routes - пространство имён, предназначенное для группировки методов по работе с мульти маршрутами

{ // Route
    id: string, // id маршрута
    category: string, // категория маршрута
    waypoints: { lat: number, lon: number }[], // точки маршрута
    color: string, // цвет линии маршрута
    opacity: number, // степень прозрачности линии маршрута
    weight: number, // толщина линии маршрута
    visible: boolean, // флаг видимости маршрута
}
{ // Multi route
  data: Route[] // Массив маршрутов
}
1
2
3
4
5
6
7
8
9
10
11
12

add

Создаёт/добавляет маршруты

Пример вызова:

jsApi.multiRoutes.add('{"data": [{"waypoints": [{"lat": 52.761094, "lon": 55.970687}, {"lat": 64.596131, "lon": 40.412461}, {"lat": 54.709760, "lon": 20.508667}], "color": "green"}, {"waypoints": [{"lat": 55.982735, "lon": 52.823147}, {"lat": 58.063048, "lon": 56.208337}, {"lat": 53.671106, "lon": 56.057936}], "visible": false}, {"waypoints": [{"lat": 50.71348, "lon": 38.663944}, {"lat": 50.7072453, "lon": 38.65536}, {"lat": 51.51717, "lon": 38.388775}]}]}')
1
{ // Multi route
    data: Route[] // Массив маршрутов
}
1
2
3

Возвращаемый результат (на каждый маршрут мульти маршрута):

{
    code: string, // Код ответа
    routes: Route[], // Маршруты
    waypoints: Waypoint[], // Путевые точки
}
{ // Route. Представляет маршрут через (возможно, несколько) путевых точек.
    distance: number, // Расстояние, пройденное маршрутом, в метрах с плавающей запятой.
    duration: number, // Расчетное время в пути, выраженное числом с плавающей запятой в секундах.
    legs: Leg[], // Участки между заданными путевыми точками, массив объектов RouteLeg.
    weight: number, // Расчетный вес маршрута.
    weight_name: string, // Название профиля веса, используемого на этапе экстракции.
}
{ // Leg. Представляет маршрут между двумя путевыми точками.
    distance: number, // Расстояние, пройденное этим этапом маршрута, в метрах с плавающей запятой.
    duration: number, // Расчетное время в пути, выраженное числом с плавающей запятой в секундах.
    steps: Step[], // Массив объектов RouteStep, описывающих пошаговые инструкции.
    summary: string, // Названия двух основных используемых дорог. Может быть пустым, если маршрут слишком короткий.
    weight: number, // Расчетный вес участка маршрута
}
{ // Step. Шаг состоит из маневра, такого как поворот или слияние, за которым следует расстояние, пройденное по одному пути до следующего шага.
    distance: number, // Расстояние от маневра до следующего шага, в метрах с плавающей запятой.
    driving_side: string, // Сторона законного вождения в месте для этого шага. Либо влево, либо вправо.
    duration: number, // Расчетное время в пути, выраженное числом с плавающей запятой в секундах.
    geometry: string, // Неупрощенная геометрия сегмента маршрута в зависимости от параметра геометрии.
    intersections: Intersection[], // Список объектов Intersection, которые проходят по отрезку, самый первый принадлежащий StepManeuver.
    maneuver: { // Объект StepManeuver, представляющий маневр.
        bearing_after: number, // Угол по часовой стрелке от истинного севера до направления движения сразу после маневра. Диапазон 0–359.
        bearing_before: number, // Угол по часовой стрелке от истинного севера до направления движения непосредственно перед маневром. Диапазон 0–359.
        location: [number, number], // Пара [долгота, широта], описывающая место поворота.
        type: string, // Строка, указывающая тип маневра. новые идентификаторы могут быть введены без изменения API. Типы, неизвестные клиенту, должны обрабатываться как тип поворота, наличие правильных значений модификаторов гарантируется.
    },
    mode: string, // Строка, обозначающая вид транспорта.
    name: string, // Название пути, по которому продолжается путешествие.
    weight: number, // Расчетный вес шага.
}
{ // Intersection. Пересечение дает полное представление о любом перекрестке, через который проходит путь. Для каждого шага самое первое пересечение (intersections[0]) соответствует положению StepManeuver. Дальнейшие перекрестки перечислены для каждого перекрестка до следующего указания поворота.
    bearings: number[], // Список значений пеленга (например, [0,90,180,270]), доступных на перекрестке. Пеленги описывают все доступные дороги на перекрестке. Значения находятся в диапазоне от 0 до 359 (0 = истинный север).
    entry: boolean[], // Список флагов входа, соответствующих пеленгам в соотношении 1:1. Значение true указывает, что соответствующая дорога может быть указана на действительном маршруте. false указывает, что поворот на соответствующую дорогу нарушит ограничение.
    location: [number, number], // Пара [долгота, широта], описывающая место поворота.
    out: number, // Индекс в массиве подшипников/входа. Используется для извлечения подшипника сразу после поворота. А именно, угол по часовой стрелке от истинного севера до направления движения сразу после маневра/проезда перекрестка. Значение не указывается для маневров прибытия.
}
{ // Waypoint. Объект, используемый для описания путевой точки на маршруте.
    distance: number, // Расстояние в метрах от входной координаты до привязанной координаты.
    hint: string, // Уникальный внутренний идентификатор сегмента (эфемерный, не постоянный при обновлении данных). Его можно использовать при последующем запросе, чтобы значительно ускорить запрос и подключить несколько сервисов. Например. вы можете использовать значение подсказки, полученное ближайшим запросом, в качестве значения подсказки для входных данных маршрута.
    location: [number, number], // Массив, содержащий пару [долгота, широта] привязанной координаты.
    name: string, // Название улицы, к которой привязана координата.
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47

Воздействие на интерфейс: Создание трека

update

Обновляет параметры маршрутов. Для обновления передаются только те данные, которые требуется обновить

Пример вызова:

jsApi.multiRoutes.update('{"data": [{"id": "DEF_2", "color": "yellow"}, {"id": "DEF_1", "visible": true}]}')
1
{ // Multi route
    data: Route[] // Массив маршрутов. В каждом маршруте указан id и свойства, которые нужно обновить
}
1
2
3

Возвращаемый результат (на каждый обновлённый маршрут мульти маршрута):

{
    code: string, // Код ответа
    routes: Route[], // Маршруты
    waypoints: Waypoint[], // Путевые точки
}
1
2
3
4
5

Воздействие на интерфейс: Создание трека

delete

Удаляет маршруты по id или по category

Пример вызова:

jsApi.multiRoutes.delete('{"data":{"id": ["DEF_2"]}}')
jsApi.multiRoutes.delete('{"data":{"category": ["default"]}}')
1
2
{ // Удаление по id
    data: {
       id: Route.id[], // Идентификаторы маршрутов, которые нужно удалить
    }
}
1
2
3
4
5
{ // Удаление по category
    data: {
       category: Route.category[], // Категории маршрутов, которые нужно удалить
    }
}
1
2
3
4
5

Возвращаемый результат: ничего не возвращает

Воздействие на интерфейс: Создание трека

clear

Удаляет все маршруты

Пример вызова:

jsApi.multiRoutes.clear()
1

Не требует аргументов

Возвращаемый результат: ничего не возвращает

Воздействие на интерфейс: Удаление всех точек