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

# control.Manager

Менеджер элементов управления.

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

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

```javascript
control.Manager(map[, controls[, options]])
```

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

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

Экземпляр карты. ||
|| [`controls`](#param-controls) | — | Тип: String\[]\|[IControl](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IControl.md)[]

Элементы управления, которые требуется разместить на карте изначально. ||
|| [`options`](#param-options) | — | Тип: Object

Опции менеджера. ||
|| [`options.margin`](#param-options.margin) | 10 | Тип: Number

Отступ элементов управления друг от друга и от краёв карты. Задаётся в пикселях. ||
|| [`options.pane`](#param-options.pane) | — | Тип: [IPane](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPane.md)

Контейнер для всех элементов управления. ||
|| [`options.states`](#param-options.states) | ['small', 'medium', 'large'] | Тип: String[]

Массив размеров, начиная от наименьшего к наибольшему. ||
|#

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

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

#|
|| **Имя** | **Тип** | **Описание** ||
|| [events](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control.Manager.md#events) | [event.Manager](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/event.Manager.md) | Менеджер событий. ||
|| [options](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control.Manager.md#options) | [option.Manager](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/option.Manager.md) | Опции менеджера. ||
|| [state](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control.Manager.md#state) | [data.Manager](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/data.Manager.md) | Состояние менеджера. Имена полей, доступных через метод data.Manager.get:
- size - состояние в котором находятся элементы управления. ||
- |#

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

#|
|| **Имя** | **Возвращает** | **Описание** ||
|| [add](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control.Manager.md#add)([control](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control.Manager.md#add-param-control)[, [options](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control.Manager.md#add-param-options)]) | [control.Manager](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control.Manager.md) | Добавляет элемент управления в менеджер. ||
|| [each](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control.Manager.md#each)([callback](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control.Manager.md#each-param-callback), [context](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control.Manager.md#each-param-context)) | [control.Manager](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control.Manager.md) | Вызывает функцию-обработчик для всех элементов управления. ||
|| [get](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control.Manager.md#get)([index](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control.Manager.md#get-param-index)) | [IControl](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IControl.md)\|null | Возвращает элемент управления или null, если элемент не найден. ||
|| [getChildElement](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control.Manager.md#getChildElement)([control](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control.Manager.md#getChildElement-param-control)) | [vow.Promise](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.Promise.md) | Возвращает объект-обещание, который подтверждается HTML-элементом, в который должен разместиться дочерний элемент. ||
|| [getContainer](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control.Manager.md#getContainer)() | HTMLElement | Возвращает контейнер, в который будут добавлены элементы контрола. ||
|| [getMap](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control.Manager.md#getMap)() | [Map](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Map.md) | Возвращает ссылку на карту. ||
|| [indexOf](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control.Manager.md#indexOf)([childToFind](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control.Manager.md#indexOf-param-childToFind)) | Integer | Возвращает -1, если элемент управления не найден, либо индекс элемента в менеджере. ||
|| [remove](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control.Manager.md#remove)([control](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control.Manager.md#remove-param-control)) | [control.Manager](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control.Manager.md) | Удаление элемента управления из менеджера. ||
|#

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

### events {#events}

```javascript
{event.Manager} events
```

Менеджер событий.

### options {#options}

```javascript
{option.Manager} options
```

Опции менеджера.

### state {#state}

```javascript
{data.Manager} state
```

Состояние менеджера. Имена полей, доступных через метод data.Manager.get:
- size - состояние в котором находятся элементы управления.

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

### add {#add}

```javascript
{control.Manager} add(control[, options])
```

Добавляет элемент управления в менеджер.

**Возвращает** ссылку на себя.

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

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

Элементы управления, заданные экземплярами классов, реализующих интерфейс [IControl](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IControl.md) либо ключами.

Возможные значения ключей:

- "fullscreenControl" — кнопка разворачивания карты на весь экран [control.FullscreenControl](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control.FullscreenControl.md);
- "geolocationControl" — кнопка определения местоположения пользователя [control.GeolocationControl](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control.GeolocationControl.md);
- "routeEditor" — кнопка включения и отключения поведения "редактор маршрута" [control.RouteEditor](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control.RouteEditor.md);
- "rulerControl" — кнопка включения и отключения поведения "линейка" [control.RulerControl](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control.RulerControl.md);
- "searchControl" — поисковая строка [control.SearchControl](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control.SearchControl.md).
- "trafficControl" — панель пробок [control.TrafficControl](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control.TrafficControl.md);
- "typeSelector" — панель переключения типа карты [control.TypeSelector](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control.TypeSelector.md);
- "zoomControl" — ползунок масштаба [control.ZoomControl](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control.ZoomControl.md);
- "routeButtonControl" — панель для построения маршрутов [control.RouteButton](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control.RouteButton.md),
- "routePanelControl" — панель маршрутизации [control.RoutePanel](https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/control.RoutePanel.md).

Кроме того, вы можете задавать один из предустановленных наборов элементов управления с помощью специальных ключей:

- "smallMapDefaultSet" - базовый набор элементов управления, оптимизированный для карт небольшого размера и экранов телефонов. Состоит из элементов управления "zoomControl", "searchControl", "typeSelector", "geolocationControl" и "fullscreenControl". В этом наборе все элементы управления минимизированы до кнопок с пиктограммами.
- "mediumMapDefaultSet" - набор элементов управления, оптимизированный для карт среднего размера и экранов планшетов. Помимо базового набора элементов управления (см. выше), добавляет дополнительно элементы управления "rulerControl" и "trafficControl".
- "largeMapDefaultSet" - набор элементов управления, оптимизированный для карт большого размера и экранов десктопных компьютеров. Отличается от набора "mediumMapDefaultSet" наличием элемента управления "routeEditor" и отсутствием элемента управления "fullScreen";
- "default" - набор элементов управления по умолчанию; синоним для набора "mediumMapDefaultSet". ||
|| [`options`](#add-param-options) | — | Тип: Object

Опции элемента управления. ||
|| [`options.float`](#add-param-options.float) | "right" | Тип: String

Сторона, по которой нужно выравнивать элемент управления. Может принимать три значения: "left", "right" или "none". При значении "left" или "right" элементы управления выстраиваются друг за другом, начиная от левого или правого края карты соответственно. При значении "none" элементы управления позиционируется только по значениям опций left, right, bottom, top относительно границ карты. ||
|| [`options.floatIndex`](#add-param-options.floatIndex) | 0 | Тип: Number

Приоритет расположения элемента управления. Элемент с максимальным приоритетом находится ближе к указанному в свойстве float краю карты. Не работает при float = "none". ||
|| [`options.position`](#add-param-options.position) | — | Тип: Object

Объект, описывающий позицию элемента управления. При указании опции position значение опции float автоматически трактуется как "none". ||
|| [`options.position.bottom`](#add-param-options.position.bottom) | 'auto' | Тип: Number\|String

Положение относительно нижнего края карты. Работает только при float = none. ||
|| [`options.position.left`](#add-param-options.position.left) | 'auto' | Тип: Number\|String

Положение относительно левого края карты. Работает только при float = none. ||
|| [`options.position.right`](#add-param-options.position.right) | 'auto' | Тип: Number\|String

Положение относительно правого края карты. Работает только при float = none. ||
|| [`options.position.top`](#add-param-options.position.top) | 'auto' | Тип: Number\|String

Положение относительно верхнего края карты. Работает только при float = none. ||
|#

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

**Пример:** 

```javascript
map.controls
    .add('zoomControl')
    .add('typeSelector');
```

### each {#each}

```javascript
{control.Manager} each(callback, context)
```

Вызывает функцию-обработчик для всех элементов управления.

**Возвращает** ссылку на себя.

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

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`callback`](#each-param-callback)[*](*star) | — | Тип: Function

Функция-обработчик. На вход получает элемент коллекции. При возвращении функцией значения false перебор останавливается. ||
|| [`context`](#each-param-context)[*](*star) | — | Тип: Object

Контекст вызываемой функции. ||
|#

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

### get {#get}

```javascript
{IControl|null} get(index)
```

**Возвращает** элемент управления или null, если элемент не найден.

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

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`index`](#get-param-index)[*](*star) | — | Тип: Number\|String

Индекс искомого элемента или его ключ. ||
|#

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

### getChildElement {#getChildElement}

```javascript
{vow.Promise} getChildElement(control)
```

**Возвращает** объект-обещание, который подтверждается HTML-элементом, в который должен разместиться дочерний элемент.

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

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

Элемент управления. ||
|#

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

### getContainer {#getContainer}

```javascript
{HTMLElement} getContainer()
```

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

### getMap {#getMap}

```javascript
{Map} getMap()
```

**Возвращает** ссылку на карту.

### indexOf {#indexOf}

```javascript
{Integer} indexOf(childToFind)
```

**Возвращает** -1, если элемент управления не найден, либо индекс элемента в менеджере.

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

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

Элемент управления или его ключ. ||
|#

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

### remove {#remove}

```javascript
{control.Manager} remove(control)
```

Удаление элемента управления из менеджера.

**Возвращает** ссылку на себя.

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

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

Удаляемый элемент управления, либо его ключ. ||
|#

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


<!-- XLIFF_FARM_NzQ3NjE2_CACHING -->

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