YMaps.Router

Внимание. Маршрутизация доступна только в актуальных версиях API.

Как перейти на API 2.1

Расширяет YMaps.GeoObjectCollection.

Класс для прокладывания маршрутов на карте.

Конструктор

Имя Описание
YMaps.Router(wayPoints, viaPoints, options) Прокладывает маршрут через заданные точки.

Поля

Имя Описание
Events Список событий маршрутизатора.

Наследуемые поля

Из YMaps.IGeoObject:
description, id, metaDataProperty, name

События

Имя Описание
Fault Событие неудачной загрузки ответа с сервера маршрутизации.
GeocodeError Событие неудачного построения маршрута, вследствие ошибки геокодирования.
Load Событие успешного получения ответа от сервиса маршрутизации.
RouteError Событие неудачного построения маршрута, вследствие невозможности проложить путь к точке.
Success Событие успешного построения маршрута.

Наследуемые события

Из YMaps.Group:
Add, Remove

Методы

Имя Возвращает Описание
applyView() Применяет к карте границы области отображения маршрута.
getDistance() Number Возвращает длину маршрута (в метрах).
getDuration() Number Возвращает расчетное время в пути (в секундах).
getNumRoutes() Integer Возвращает количество построенных маршрутов.
getNumWayPoints() Integer Возвращает количество точек остановки.
getRoute(index) YMaps.Route Возвращает маршрут по его индексу.
getWayPoint(index) YMaps.WayPoint Возвращает точку остановки (специальную метку YMaps.WayPoint) по индексу точки.

Наследуемые методы

Из YMaps.OverlayGroup:
getMap, getParentContainer
Из YMaps.Group:
add, filter, forEach, get, indexOf, length, remove, removeAll, splice
Из YMaps.IOverlay:
onAddToMap, onMapUpdate, onRemoveFromMap
Из YMaps.IGeoObject:
getBounds, getComputedStyle, getParentGroup, getStyle, onAddToGroup, onRemoveFromGroup, setBounds, setStyle, update

Подробное описание конструктора

YMaps.Router(wayPoints, viaPoints, options)

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

Примеры:

1.

// Добавляет на карту схему проезда от станции метро "Курская" до станции метро "Парк Культуры".
map.addOverlay(new YMaps.Router(['Курская', 'Парк культуры']));

2.

// Добавляет на карту схему проезда от станции метро "Курская" до станции метро "Парк Культуры".
// При построении маршрута учитываются следующие требования: маршрут должен обязательно пройти через точку (37.583032, 55.745873),
// его начальная и конечная точки должны быть подписаны, соединительные линии должны быть заданного цвета, толщины и прозрачности,
// а центр и масштаб карты должны быть подобраны автоматически так, чтобы полностью вместить маршрут.
var router = new YMaps.Router(
        ['Курская', new YMaps.GeoPoint(37.583032, 55.745873), 'Парк культуры'], // Список точек
        [1], // Здесь задаем индексы транзитных точек (точек, через которые мы хотим проехать без остановки) в массиве points
        { viewAutoApply: true } // Эта опция позволяет автоматически выставлять центр и коэффициент масштабирования карты
    ),
    style = new YMaps.Style(); // Стиль для меток и линий маршрутизатора

style.lineStyle = new YMaps.LineStyle(); // Задаем стиль линии
style.lineStyle.strokeWidth = 5; // Ширина линии
style.lineStyle.strokeColor = '30405080'; // Цвет линии в формате RGBA

router.setStyle(style); // Применяем стиль к маршруту
map.addOverlay(router); // Добавляем маршрут на карту
// По событию успешного построения маршрута зададим подписи точкам маршрута
YMaps.Events.observe(router, router.Events.Success, function () {
    // Задаем содержание меток для начальной и конечной точек.
    // Транзитные точки на карте не отмечаются и не возвращаются методом getWayPoint
    router.getWayPoint(0).setIconContent('Точка отправления');
    router.getWayPoint(1).setIconContent('Точка прибытия');
});

Параметры:

Имя Тип Необязательный По умолчанию Описание
wayPoints (String|YMaps.GeoPoint[]) Набор точек, через которые должен проходить маршрут.
viaPoints Number[] Индексы транзитных точек, т.е. точек, через которые нужно проехать без остановки. Отсчет индексов начинается с 0.
options Object Опции построения маршрута.
options.viewAutoApply Boolean false Флаг, позволяющий автоматически установить центр и коэффициент масштабирования карты так, чтобы построенный маршрут был виден целиком.
options.boundedBy YMaps.GeoBounds Область на карте, где предположительно находится искомые объекты. Используется, если точки маршрута заданы почтовым адресом, а не координатами.
options.strictBounds Boolean false Искать только внутри области, заданной опцией boundedBy. Используется, если точки маршрута заданы почтовым адресом, а не координатами.
options.avoidTrafficJams Boolean false true - строить маршрут с учетом пробок, false - без учета пробок. При использовании опции учитывайте, что объезд пробок не всегда возможен.

Подробное описание полей

Events

Object Events

Список событий маршрутизатора.

Подробное описание событий

Fault

Fault
Событие неудачной загрузки ответа с сервера маршрутизации.

В callback-функцию передаются два аргумента:

  • ссылка на объект, для которого был вызван обработчик;
  • строка с описанием ошибки.

GeocodeError

GeocodeError
Событие неудачного построения маршрута, вследствие ошибки геокодирования.

В callback-функцию передаются два аргумента:

  • ссылка на объект, для которого был вызван обработчик;
  • индекс точки, при геокодировании которой произошла ошибка.

Load

Load

Событие успешного получения ответа от сервиса маршрутизации. В callback-функцию передается ссылка на объект, для которого был вызван обработчик.

RouteError

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

В callback-функцию передаются два аргумента:

  • ссылка на объект, для которого был вызван обработчик;
  • индекс точки, путь до которой нельзя построить.

Success

Success

Событие успешного построения маршрута. В callback-функцию передается ссылка на объект, для которого был вызван обработчик.

Подробное описание методов

applyView

applyView()

Применяет к карте границы области отображения маршрута.

getDistance

{Number} getDistance()

Возвращает длину маршрута (в метрах).

Возвращает:

Тип Описание
Number Длину маршрута (в метрах).

getDuration

{Number} getDuration()

Возвращает расчетное время в пути (в секундах).

Возвращает:

Тип Описание
Number Расчетное время в пути (в секундах).

getNumRoutes

{Integer} getNumRoutes()

Возвращает количество построенных маршрутов. Маршрутизатор строит несколько маршрутов, если задано несколько точек остановки. Метод getNumRoutes возвращает число успешно построенных маршрутов, которое (если не было ошибок) должно быть на единицу меньше числа точек остановки.

Возвращает:

Тип Описание
Integer Количество маршрутов.

getNumWayPoints

{Integer} getNumWayPoints()

Возвращает количество точек остановки.

Возвращает:

Тип Описание
Integer Количество точек остановки.

getRoute

{YMaps.Route} getRoute(index)

Возвращает маршрут по его индексу.

Параметры:

Имя Тип Описание
index Integer Индекс маршрута.

Возвращает:

Тип Описание
YMaps.Route Маршрут.

getWayPoint

{YMaps.WayPoint} getWayPoint(index)

Возвращает точку остановки (специальную метку YMaps.WayPoint) по индексу точки.

Параметры:

Имя Тип Описание
index Integer Индекс точки.

Возвращает:

Тип Описание
YMaps.WayPoint Точку остановки (специальную метку).