---
metadata:
  - name: generator
    content: Diplodoc Platform v5.37.1
alternate:
  - https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/router.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/dev/jsapi-v1-1/doc/ru/llms.txt

# YMaps.Router


{% note alert %}

Маршрутизация доступна только в актуальных версиях API. 
[Как перейти на API 2.1](https://yandex.ru/dev/maps/jsapi/doc/2.1/upgrade/index.html)

{% endnote %}


Расширяет [YMaps.GeoObjectCollection](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/geoobjectcollection.md).

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

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


## Поля

Имя | Описание
----- | -----
[Events](router.md#Events) | Список событий маршрутизатора.

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


Из [YMaps.IGeoObject](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/igeoobject.md): 
: [description](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/igeoobject.md#description), [id](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/igeoobject.md#id), [metaDataProperty](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/igeoobject.md#metaDataProperty), [name](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/igeoobject.md#name)

## События

Имя | Описание
----- | -----
[Fault](router.md#event-Fault) | Событие неудачной загрузки ответа с сервера маршрутизации.
[GeocodeError](router.md#event-GeocodeError) | Событие неудачного построения маршрута, вследствие ошибки геокодирования.
[Load](router.md#event-Load) | Событие успешного получения ответа от сервиса маршрутизации.
[RouteError](router.md#event-RouteError) | Событие неудачного построения маршрута, вследствие невозможности проложить путь к точке.
[Success](router.md#event-Success) | Событие успешного построения маршрута.

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


Из [YMaps.Group](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md): 
: [Add](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md#event-Add), [Remove](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md#event-Remove)

## Методы

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

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


Из [YMaps.OverlayGroup](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/overlaygroup.md): 
: [getMap](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/overlaygroup.md#getMap), [getParentContainer](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/overlaygroup.md#getParentContainer)

Из [YMaps.Group](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md): 
: [add](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md#add), [filter](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md#filter), [forEach](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md#forEach), [get](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md#get), [indexOf](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md#indexOf), [length](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md#length), [remove](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md#remove), [removeAll](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md#removeAll), [splice](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/group.md#splice)

Из [YMaps.IOverlay](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/ioverlay.md): 
: [onAddToMap](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/ioverlay.md#onAddToMap), [onMapUpdate](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/ioverlay.md#onMapUpdate), [onRemoveFromMap](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/ioverlay.md#onRemoveFromMap)

Из [YMaps.IGeoObject](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/igeoobject.md): 
: [getBounds](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/igeoobject.md#getBounds), [getComputedStyle](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/igeoobject.md#getComputedStyle), [getParentGroup](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/igeoobject.md#getParentGroup), [getStyle](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/igeoobject.md#getStyle), [onAddToGroup](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/igeoobject.md#onAddToGroup), [onRemoveFromGroup](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/igeoobject.md#onRemoveFromGroup), [setBounds](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/igeoobject.md#setBounds), [setStyle](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/igeoobject.md#setStyle), [update](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/igeoobject.md#update)

## Подробное описание конструктора {#constructor}

```javascript
YMaps.Router(wayPoints, viaPoints, options)
```

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

**Примеры:**

**1.**

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

**2.**

```javascript
// Добавляет на карту схему проезда от станции метро "Курская" до станции метро "Парк Культуры".
// При построении маршрута учитываются следующие требования: маршрут должен обязательно пройти через точку (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](geopoint.md)[]) |  |  | Набор точек, через которые должен проходить маршрут.
`viaPoints` | Number[] | ![](../_images/check.png) |  | Индексы транзитных точек, т.е. точек, через которые нужно проехать без остановки. Отсчет индексов начинается с 0.
`options` | Object | ![](../_images/check.png) |  | Опции построения маршрута.
`options.viewAutoApply` | Boolean | ![](../_images/check.png) | false | Флаг, позволяющий автоматически установить центр и коэффициент масштабирования карты так, чтобы построенный маршрут был виден целиком.
`options.boundedBy` | [YMaps.GeoBounds](geobounds.md) | ![](../_images/check.png) |  | Область на карте, где предположительно находится искомые объекты. Используется, если точки маршрута заданы почтовым адресом, а не координатами.
`options.strictBounds` | Boolean | ![](../_images/check.png) | false | Искать только внутри области, заданной опцией boundedBy. Используется, если точки маршрута заданы почтовым адресом, а не координатами.
`options.avoidTrafficJams` | Boolean | ![](../_images/check.png) | false | true - строить маршрут с учетом пробок, false - без учета пробок. При использовании опции учитывайте, что объезд пробок не всегда возможен.

## Подробное описание полей {#field_detail}

### Events {#Events}

```javascript
Object Events
```

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

## Подробное описание событий {#event_detail}

### Fault {#Fault}

```javascript
Fault
```
 Событие неудачной загрузки ответа с сервера маршрутизации. 
В callback-функцию передаются два аргумента:

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

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

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

```javascript
Load
```

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

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

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

```javascript
Success
```

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

### applyView {#applyView}

```javascript
applyView()
```

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

```javascript
{Number} getDistance()
```

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

**Возвращает:**

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

### getDuration {#getDuration}

```javascript
{Number} getDuration()
```

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

**Возвращает:**

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

### getNumRoutes {#getNumRoutes}

```javascript
{Integer} getNumRoutes()
```

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

**Возвращает:**

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

### getNumWayPoints {#getNumWayPoints}

```javascript
{Integer} getNumWayPoints()
```

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

**Возвращает:**

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

### getRoute {#getRoute}

```javascript
{YMaps.Route} getRoute(index)
```

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

**Параметры:**

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


**Возвращает:**

Тип | Описание
----- | -----
[YMaps.Route](route.md) | Маршрут.

### getWayPoint {#getWayPoint}

```javascript
{YMaps.WayPoint} getWayPoint(index)
```

Возвращает точку остановки (специальную метку [YMaps.WayPoint](https://yandex.ru/dev/jsapi-v1-1/doc/ru/ref/reference/waypoint.md)) по индексу точки.

**Параметры:**

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


**Возвращает:**

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

