route

Статическая функция.

Прокладывает маршрут через заданные точки.

Возвращает Promise объект, который подтверждается объектом маршрута router.Route, либо объектом мультимаршрута multiRouter.MultiRoute, в зависимости от значения параметра multiRoute. Promise отклоняется при возникновении ошибки.

{ vow.Promise } route(points[, params])

Параметры:

Параметр Значение по умолчанию Описание
points *

Тип: Object[]

Массив точек, через которые должен проходить маршрут. Каждая точка может быть задана строкой, содержащей адрес, массивом координат, и JSON-объектом со следующими полями:
  • type: String - тип точки. Значение 'wayPoint' задает путевую точку маршрута. Значение 'viaPoint' задает транзитную точку, т.е. точку, через которую нужно проехать без остановки.
  • point: Number[]|String - массив координат точки, либо ее адрес в виде строки.
params

Тип: Object

Параметры маршрутизации.

params.avoidTrafficJams false

Тип: Boolean

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

params.boundedBy

Тип: Number[][]

Область на карте, где предположительно находятся искомые объекты. Используется, если точки маршрута заданы почтовым адресом, а не координатами.

params.mapStateAutoApply false

Тип: Boolean

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

params.multiRoute false

Тип: Boolean

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

params.reverseGeocoding false

Тип: Boolean

Использовать ли обратное геокодирование для точек маршрута, заданных координатами.

params.routingMode "auto"

Тип: String

Тип маршрутизации. Может принимать одно из трех строковых значений:
  • "auto" — автомобильная маршрутизация;
  • "masstransit" — маршрутизация с использованием общественного транспорта. Доступна только для мультимаршрутов (опция multiRoute должна быть выставлена в true);
  • "pedestrian" — пешеходная маршрутизация. Доступна только для мультимаршрутов (опция multiRoute должна быть выставлена в true);
params.searchCoordOrder

Тип: String

Определяет, каким образом нужно интрепретировать координаты в запросе. Используется, если точки маршрута заданы координатами, а не почтовым адресом.

params.strictBounds false

Тип: Boolean

Искать только внутри области, заданной опцией boundedBy.

params.useMapMargin true

Тип: Boolean

Нужно ли учитывать отступы карты map.margin.Manager.

params.viaIndexes []

Тип: Integer[]

Индексы транзитных точек мультимаршрута.

params.zoomMargin 0

Тип: Number|Number[]

Отступы от границ видимой области карты при изменении коэффициента масштабирования. Если задано одно число - оно применяется ко всем сторонам. Если задано два - то это горизонтальные и вертикальные отступы соответственно. Если задан массив из 4х чисел, то это отступы top, right, bottom, left. При включенном параметре "useMapMargin" значение "zoomMargin" складывается со значениями, которые были рассчитаны в менеджере отступов map.margin.Manager.

* Обязательный параметр/опция.

Примеры:

1.

// Строим маршрут из Королева в Красногорск через Химки и Мытищи,
// где Мытищи - транзитная точка. Устанавливаем координаты Красногорска.
ymaps.route([
    'Королёв',
    { type: 'viaPoint', point: 'Мытищи' },
    'Химки',
    { type: 'wayPoint', point: [55.811511, 37.312518] }
], {
    mapStateAutoApply: true
}).then(function (route) {
    route.getPaths().options.set({
        //  В балуне выводим только информацию о времени движения с учетом пробок.
        balloonContentLayout: ymaps.templateLayoutFactory.createClass('{{ properties.humanJamsTime }}'),
        // Можно выставить настройки графики маршруту.
        strokeColor: '0000ffff',
        opacity: 0.9
    });
    // Добавляем маршрут на карту.
    map.geoObjects.add(route);
});

2.

// Построим мультимаршрут и добавим его на карту с применением автомасштабирования.
ymaps.route(['Южное Бутово', 'Москва, метро Парк Культуры'], {
    multiRoute: true
}).done(function (route) {
    route.options.set("mapStateAutoApply", true);
    myMap.geoObjects.add(route);
}, function (err) {
    throw err;
}, this);