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
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
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
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
2
3
Возвращаемый результат (на каждый обновлённый маршрут мульти маршрута):
{
code: string, // Код ответа
routes: Route[], // Маршруты
waypoints: Waypoint[], // Путевые точки
}
1
2
3
4
5
2
3
4
5
Воздействие на интерфейс:
delete
Удаляет маршруты по id или по category
Пример вызова:
jsApi.multiRoutes.delete('{"data":{"id": ["DEF_2"]}}')
jsApi.multiRoutes.delete('{"data":{"category": ["default"]}}')
1
2
2
{ // Удаление по id
data: {
id: Route.id[], // Идентификаторы маршрутов, которые нужно удалить
}
}
1
2
3
4
5
2
3
4
5
{ // Удаление по category
data: {
category: Route.category[], // Категории маршрутов, которые нужно удалить
}
}
1
2
3
4
5
2
3
4
5
Возвращаемый результат: ничего не возвращает
Воздействие на интерфейс:
clear
Удаляет все маршруты
Пример вызова:
jsApi.multiRoutes.clear()
1
Не требует аргументов
Возвращаемый результат: ничего не возвращает
Воздействие на интерфейс: