---
metadata:
  - name: generator
    content: Diplodoc Platform v5.39.1
alternate:
  - https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/multiRouter.MultiRouteModel.md
  - https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/multiRouter.MultiRouteModel.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com/dev/jsapi-v2-1/doc/ru/llms.txt

# multiRouter.MultiRouteModel

Расширяет [IEventEmitter](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventEmitter.md).

Модель данных мультимаршрута

[Конструктор](#constructor-summary) | [Поля ](#properties-summary) | [События ](#events-summary) | [Методы ](#methods-summary)

## Конструктор {#constructor-summary}

```javascript
multiRouter.MultiRouteModel(referencePoints[, params])
```

Создает модель данных мультимаршрута.

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

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`referencePoints`](#param-referencePoints)[*](*star) | — | Тип: [IMultiRouteReferencePoint](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IMultiRouteReferencePoint.md)[]

Описание опорных точек мультимаршрута. ||
|| [`params`](#param-params) | — | Тип: [IMultiRouteParams](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IMultiRouteParams.md)

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

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

**Пример:**

```javascript
// Создаем модель мультимаршрутизатора.
var multiRouteModel = new ymaps.multiRouter.MultiRouteModel(['Moscow', 'Tver', 'Peterburg'], {
    avoidTrafficJams: true,
    viaIndexes: [1]
});

//  Создаем представление мультимаршрутизатора на основе модели.
var multiRouteView = new ymaps.multiRouter.MultiRoute(multiRouteModel);
myMap.geoObjects.add(multiRouteView);

// Подписываемся на события модели.
multiRouteView.model.events
    .add("requestsuccess", function (event) {
        var routes = event.get("target").getRoutes();
        console.log("Found routes: " + routes.length);
        for (var i = 0, l = routes.length; i < l; i++) {
            console.log("Route length " + (i + 1) + ": " + routes[i].properties.get("distance").text);
        }
    })
    .add("requestfail", function (event) {
        console.log("Error: " + event.get("error").message);
    });
```

## Поля {#properties-summary}

#|
|| **Имя** | **Тип** | **Описание** ||
|| [events](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventEmitter.md#events) | [IEventManager](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md) | Менеджер событий.

Унаследовано от [IEventEmitter](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventEmitter.md#events). ||
|| [properties](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/multiRouter.MultiRouteModel.md#properties) | [data.Manager](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/data.Manager.md) | Данные мультимаршрута. ||
|#

## События {#events-summary}

#|
|| **Имя** | **Описание** ||
|| [requestcancel](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/multiRouter.MultiRouteModel.md#event-requestcancel) | Запрос за данными отменен. Экземпляр класса [Event](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- referencePoints: Object[] - массив, описывающий множество опорных точек;
- params: Object – параметры маршрутизации. ||
|| [requestchange](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/multiRouter.MultiRouteModel.md#event-requestchange) | Изменились опорные данные модели мультимаршрута (опорные точки, либо параметры маршрутизации). В результате формируется новый запрос за данными к сервису маршрутизации. Экземпляр класса Event. Имена полей, доступных через метод [Event.get](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- referencePoints: Object[] - массив, описывающий множество опорных точек;
- params: Object - параметры маршрутизации.
- oldReferencePoints: Object[] – массив, описывающий предыдущее множество опорных точек;
- oldParams: Object - предыдущие параметры маршрутизации. ||
|| [requestfail](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/multiRouter.MultiRouteModel.md#event-requestfail) | Запрос за данными завершился с ошибкой. Экземпляр класса [Event](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- error: Error – объект ошибки. ||
|| [requestsend](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/multiRouter.MultiRouteModel.md#event-requestsend) | Отправлен новый запрос за данными модели мультимаршрута. Экземпляр класса [Event](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- referencePoints: Object[] - массив, описывающий множество опорных точек;
- params: Object – параметры маршрутизации. ||
|| [requestsuccess](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/multiRouter.MultiRouteModel.md#event-requestsuccess) | Запрос за данными завершился успешно, модель данных обновлена. Экземпляр класса [Event](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- init: Boolean – признак инициализирующего запроса;
- rough: Boolean - признак промежуточного запроса (используется для оптимизации размера ответа сервера при редактировании маршрута);
- wayPointsChange: Boolean - признак изменений в наборе путевых точек;
- viaPointsChange: Boolean - признак изменений в наборе транзитных точек;
- routesChange: Boolean - признак изменений в наборе маршрутов. ||
- |#


## Методы {#methods-summary}

#|
|| **Имя** | **Возвращает** | **Описание** ||
|| [destroy](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/multiRouter.MultiRouteModel.md#destroy)() | | Уничтожает модель. ||
|| [getAllPoints](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/multiRouter.MultiRouteModel.md#getAllPoints)() | ([multiRouter.WayPointModel](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/multiRouter.WayPointModel.md)\|[multiRouter.ViaPointModel](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/multiRouter.ViaPointModel.md))[] | Возвращает объединенный массив моделей транзитных и путевых точек в порядке, соответствующем порядку следования соответствующих опорных точек. ||
|| [getJson](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/multiRouter.MultiRouteModel.md#getJson)() | Object | Возвращает JSON-данные модели мультимаршрута. ||
|| [getParams](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/multiRouter.MultiRouteModel.md#getParams)() | [IMultiRouteParams](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IMultiRouteParams.md) | Возвращает объект, описывающий текущие значения параметров маршрутизации. ||
|| [getPoints](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/multiRouter.MultiRouteModel.md#getPoints)() | ([multiRouter.WayPointModel](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/multiRouter.WayPointModel.md)\|[multiRouter.ViaPointModel](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/multiRouter.ViaPointModel.md))[] | Устаревшее название метода multiRouter.MultiRouteModel.getAllPoints. Не рекомендуется к использованию. ||
|| [getReferencePointIndexes](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/multiRouter.MultiRouteModel.md#getReferencePointIndexes)() | Object | Возвращает объект, содержащий следующие поля:
- way: Integer[] - индексы опорных точек, соответствующие множеству путевых точек модели;
- via: Integer[] - индексы опорных точек, соответствующие множеству транзитных точек модели. ||
|| [getReferencePoints](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/multiRouter.MultiRouteModel.md#getReferencePoints)() | [IMultiRouteReferencePoint](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IMultiRouteReferencePoint.md)[] | Возвращает массив опорных точек мультимаршрута. ||
|| [getRoutes](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/multiRouter.MultiRouteModel.md#getRoutes)() | [multiRouter.driving.RouteModel](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/multiRouter.driving.RouteModel.md)\[]\|[multiRouter.masstransit.RouteModel](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/multiRouter.masstransit.RouteModel.md)[] | Возвращает массив моделей дочерних маршрутов. ||
|| [getViaPoints](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/multiRouter.MultiRouteModel.md#getViaPoints)() | [multiRouter.ViaPointModel](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/multiRouter.ViaPointModel.md)[] | Возвращает массив моделей дочерних транзитных точек. ||
|| [getWayPoints](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/multiRouter.MultiRouteModel.md#getWayPoints)() | [multiRouter.WayPointModel](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/multiRouter.WayPointModel.md)[] | Возвращает массив моделей дочерних путевых точек. ||
|| [setParams](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/multiRouter.MultiRouteModel.md#setParams)([params](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/multiRouter.MultiRouteModel.md#setParams-param-params)[, [extend](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/multiRouter.MultiRouteModel.md#setParams-param-extend)[, [clearRequests](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/multiRouter.MultiRouteModel.md#setParams-param-clearRequests)]]) | | Задает параметры маршрутизации. ||
|| [setReferencePoints](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/multiRouter.MultiRouteModel.md#setReferencePoints)([referencePoints](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/multiRouter.MultiRouteModel.md#setReferencePoints-param-referencePoints)[, [viaIndexes](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/multiRouter.MultiRouteModel.md#setReferencePoints-param-viaIndexes)[, [clearRequests](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/multiRouter.MultiRouteModel.md#setReferencePoints-param-clearRequests)]]) | | Задает опорные точки мультимаршрута. ||
|#

## Описание полей {#field_detail}

### properties {#properties}

```javascript
{data.Manager} properties
```

Данные мультимаршрута.

## Описание событий {#event_detail}

### requestcancel {#requestcancel}

Запрос за данными отменен. Экземпляр класса [Event](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- referencePoints: Object[] - массив, описывающий множество опорных точек;
- params: Object – параметры маршрутизации.

### requestchange {#requestchange}

Изменились опорные данные модели мультимаршрута (опорные точки, либо параметры маршрутизации). В результате формируется новый запрос за данными к сервису маршрутизации. Экземпляр класса Event. Имена полей, доступных через метод [Event.get](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- referencePoints: Object[] - массив, описывающий множество опорных точек;
- params: Object - параметры маршрутизации.
- oldReferencePoints: Object[] – массив, описывающий предыдущее множество опорных точек;
- oldParams: Object - предыдущие параметры маршрутизации.

### requestfail {#requestfail}

Запрос за данными завершился с ошибкой. Экземпляр класса [Event](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- error: Error – объект ошибки.

### requestsend {#requestsend}

Отправлен новый запрос за данными модели мультимаршрута. Экземпляр класса [Event](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- referencePoints: Object[] - массив, описывающий множество опорных точек;
- params: Object – параметры маршрутизации.

### requestsuccess {#requestsuccess}

Запрос за данными завершился успешно, модель данных обновлена. Экземпляр класса [Event](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- init: Boolean – признак инициализирующего запроса;
- rough: Boolean - признак промежуточного запроса (используется для оптимизации размера ответа сервера при редактировании маршрута);
- wayPointsChange: Boolean - признак изменений в наборе путевых точек;
- viaPointsChange: Boolean - признак изменений в наборе транзитных точек;
- routesChange: Boolean - признак изменений в наборе маршрутов.

## Описание методов {#method_detail}

### destroy {#destroy}

```javascript
{} destroy()
```

Уничтожает модель.

### getAllPoints  {#getAllPoints}

```javascript
{(multiRouter.WayPointModel|multiRouter.ViaPointModel)[]} getAllPoints()
```

**Возвращает** объединенный массив моделей транзитных и путевых точек в порядке, соответствующем порядку следования соответствующих опорных точек.

### getJson {#getJson}

```javascript
{Object} getJson()
```

**Возвращает** JSON-данные модели мультимаршрута.

### getParams {#getParams}

```javascript
{IMultiRouteParams} getParams()
```

**Возвращает** объект, описывающий текущие значения параметров маршрутизации.

### getPoints {#getPoints}

```javascript
{(multiRouter.WayPointModel|multiRouter.ViaPointModel)[]} getPoints()
```

Устаревшее название метода multiRouter.MultiRouteModel.getAllPoints. Не рекомендуется к использованию.

**Возвращает** объединенный массив моделей транзитных и путевых точек в порядке, соответствующем порядку следования соответствующих опорных точек.

### getReferencePointIndexes {#getReferencePointIndexes}

```javascript
{Object} getReferencePointIndexes()
```

**Возвращает** объект, содержащий следующие поля:
- way: Integer[] - индексы опорных точек, соответствующие множеству путевых точек модели;
- via: Integer[] - индексы опорных точек, соответствующие множеству транзитных точек модели.

### getReferencePoints {#getReferencePoints}

```javascript
{IMultiRouteReferencePoint[]} getReferencePoints()
```

**Возвращает** массив опорных точек мультимаршрута.

### getRoutes {#getRoutes}

```javascript
{multiRouter.driving.RouteModel[]|multiRouter.masstransit.RouteModel[]} getRoutes()
```

**Возвращает** массив моделей дочерних маршрутов.

### getViaPoints {#getViaPoints}

```javascript
{multiRouter.ViaPointModel[]} getViaPoints()
```

**Возвращает** массив моделей дочерних транзитных точек.

### getWayPoints {#getWayPoints}

```javascript
{multiRouter.WayPointModel[]} getWayPoints()
```

**Возвращает** массив моделей дочерних путевых точек.

### setParams {#setParams}

```javascript
{} setParams(params[, extend[, clearRequests]])
```

Задает параметры маршрутизации.

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

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`params`](#setParams-param-params)[*](*star) | — | Тип: [IMultiRouteParams](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IMultiRouteParams.md)

Параметры маршрутизации. ||
|| [`extend`](#setParams-param-extend) | false | Тип: Boolean

Позволяет изменить лишь часть параметров, а значения не переданных оставить прежним. ||
|| [`clearRequests`](#setParams-param-clearRequests) | false | Тип: Boolean

Позволяет очистить очередь предыдущих запросов к серверу. ||
|#

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

### setReferencePoints {#setReferencePoints}

```javascript
{} setReferencePoints(referencePoints[, viaIndexes[, clearRequests]])
```

Задает опорные точки мультимаршрута.

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

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`referencePoints`](#setReferencePoints-param-referencePoints)[*](*star) | — | Тип: [IMultiRouteReferencePoint](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IMultiRouteReferencePoint.md)[]

Массив опорных точек. ||
|| [`viaIndexes`](#setReferencePoints-param-viaIndexes) | — | Тип: Integer[]

Индексы транзитных точек в массиве опорных точек. ||
|| [`clearRequests`](#setReferencePoints-param-clearRequests) | false | Тип: Boolean

Позволяет очистить очередь предыдущих запросов к серверу. ||
|#

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

<!-- XLIFF_FARM_YTNlYTdi_CACHING -->

[*star]: Обязательный параметр.