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

# objectManager.ObjectCollection

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

Коллекция объектов, добавленных в слой.

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

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

```javascript
objectManager.ObjectCollection()
```

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

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

Унаследовано от [IEventEmitter](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventEmitter.md#events). ||
|| [hint](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/objectManager.ObjectCollection.md#hint) | [objectManager.Hint](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/objectManager.Hint.md) | Хинт объекта в составе [ObjectManager](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ObjectManager.md). ||
|| [options](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/objectManager.ObjectCollection.md#options) | [option.Manager](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/option.Manager.md) | Менеджер опций. Имена полей, доступных через метод option.Manager.get:
- hasBalloon - флаг наличия у коллекции поля .balloon. Если при клике на объекте не нужно открывать балун, рекомендуется установить эту опцию в значение false, чтобы избежать лишних инициализаций;
- hasHint - флаг наличия у коллекции поля .hint. Если при наведении на объект не нужно показывать всплывающую подсказку, рекомендуется установить эту опцию в значение false, чтобы избежать лишних инициализаций;
- hideIconOnBalloonOpen - cкрывать иконку при открытии балуна. Значение по умолчанию true.
- openBalloonOnClick - показывать балун при клике на объект. Значение по умолчанию true. ||
|| [overlays](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/objectManager.ObjectCollection.md#overlays) | [objectManager.OverlayCollection](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/objectManager.OverlayCollection.md) | Коллекция оверлеев одиночных объектов. Все события, за исключением событий add и remove, пропагируются от коллекции оверлеев в коллекцию объектов. ||
|#

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

#|
|| **Имя** | **Описание** ||
|| [add](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/objectManager.ObjectCollection.md#event-add) | Добавление объекта в коллекцию. Экземпляр класса [Event](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- objectId – идентификатор добавленного объекта;
- child - добавленный объект. ||
|| [objectoptionschange](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/objectManager.ObjectCollection.md#event-objectoptionschange) | Изменение опций объекта через метод [objectManager.ObjectCollection.setObjectOptions](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/objectManager.ObjectCollection.md#setObjectOptions). Экземпляр класса [Event](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- objectId - идентификатор объекта, у которого заменили опции. ||
|| [optionschange](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ICustomizable.md#event-optionschange) | Изменение в опциях объекта.

Унаследовано от [ICustomizable](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ICustomizable.md#event-optionschange). ||
|| [remove](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/objectManager.ObjectCollection.md#event-remove) | Удаление объекта из коллекции. Экземпляр класса [Event](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- objectId – идентификатор удаленного объекта;
- child - удаленный объект. ||
|#

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

#|
|| **Имя** | **Возвращает** | **Описание** ||
|| [add](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/objectManager.ObjectCollection.md#add)([data](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/objectManager.ObjectCollection.md#add-param-data)) | [objectManager.ObjectCollection](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/objectManager.ObjectCollection.md) | Метод полностью дублирует логику [ObjectManager.add](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ObjectManager.md#add). ||
|| [each](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/objectManager.ObjectCollection.md#each)([callback](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/objectManager.ObjectCollection.md#each-param-callback), [context](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/objectManager.ObjectCollection.md#each-param-context)) | | Метод, вызывающий переданную функцию-обработчик для всех элементов коллекции. ||
|| [getAll](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/objectManager.ObjectCollection.md#getAll)() | Object[] | Возвращает массив объектов, содержащихся в коллекции. ||
|| [getById](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/objectManager.ObjectCollection.md#getById)([id](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/objectManager.ObjectCollection.md#getById-param-id)) | Object\|null | Возвращает объект или null, если объекта с переданным id не существует. ||
|| [getIterator](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ICollection.md#getIterator)() | [IIterator](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IIterator.md) | Возвращает итератор по коллекции.

Унаследован от [ICollection](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ICollection.md#getIterator). ||
|| [getLength](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/objectManager.ObjectCollection.md#getLength)() | Number | Возвращает количество объектов в коллекции. ||
|| [getObjectManager](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/objectManager.ObjectCollection.md#getObjectManager)() | [ObjectManager](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ObjectManager.md) | Возвращает родительский слой объектов коллекции. ||
|| [remove](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/objectManager.ObjectCollection.md#remove)([data](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/objectManager.ObjectCollection.md#remove-param-data)) | [objectManager.ObjectCollection](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/objectManager.ObjectCollection.md) | Метод полностью дублирует логику [ObjectManager.remove](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ObjectManager.md#remove). ||
|| [removeAll](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/objectManager.ObjectCollection.md#removeAll)() | [objectManager.ObjectCollection](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/objectManager.ObjectCollection.md) | Удаляет все элементы коллекции. ||
|| [setObjectOptions](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/objectManager.ObjectCollection.md#setObjectOptions)([objectId](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/objectManager.ObjectCollection.md#setObjectOptions-param-objectId), [options](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/objectManager.ObjectCollection.md#setObjectOptions-param-options)) | [objectManager.ObjectCollection](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/objectManager.ObjectCollection.md) | Метод, позволяющий динамически обновлять опции объекта. Метод следует использовать в случаях, когда вы хотите, чтобы новые опции мгновенно применились к отображению объекта на карте. Обратите внимание, менеджер не учитывает опцию 'visible'. ||
|#

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

### balloon {#balloon}

```javascript
{objectManager.Balloon} balloon
```

Балун объекта в составе менеджера.

### hint {#hint}

```javascript
{objectManager.Hint} hint
```

Хинт объекта в составе [ObjectManager](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ObjectManager.md).

### options {#options}

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

Менеджер опций. Имена полей, доступных через метод option.Manager.get:
- hasBalloon - флаг наличия у коллекции поля .balloon. Если при клике на объекте не нужно открывать балун, рекомендуется установить эту опцию в значение false, чтобы избежать лишних инициализаций;
- hasHint - флаг наличия у коллекции поля .hint. Если при наведении на объект не нужно показывать всплывающую подсказку, рекомендуется установить эту опцию в значение false, чтобы избежать лишних инициализаций;
- hideIconOnBalloonOpen - cкрывать иконку при открытии балуна. Значение по умолчанию true.
- openBalloonOnClick - показывать балун при клике на объект. Значение по умолчанию true.

**Пример:**

```javascript
// Зададим стили для одиночных объектов в составе коллекции.
objectManager.objects.options.set({
    preset: 'islands#redIcon',
    hasBalloon: false,
    zIndex: 500
});
```

### overlays {#overlays}

```javascript
{objectManager.OverlayCollection} overlays
```

Коллекция оверлеев одиночных объектов. Все события, за исключением событий add и remove, пропагируются от коллекции оверлеев в коллекцию объектов.

**Пример:**

```javascript
objectManager.objects.overlays.events.add('add', function (e) {
    alert('Объект ' + e.get('objectId') + ' показан на карте.');});
```

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

### add {#add}

Добавление объекта в коллекцию. Экземпляр класса [Event](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- objectId – идентификатор добавленного объекта;
- child - добавленный объект.

### objectoptionschange {#objectoptionschange}

Изменение опций объекта через метод [objectManager.ObjectCollection.setObjectOptions](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/objectManager.ObjectCollection.md#setObjectOptions). Экземпляр класса [Event](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- objectId - идентификатор объекта, у которого заменили опции.

### remove {#remove}

Удаление объекта из коллекции. Экземпляр класса [Event](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md). Имена полей, доступных через метод [Event.get](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Event.md#get):
- objectId – идентификатор удаленного объекта;
- child - удаленный объект.

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

### add {#add}

```javascript
{objectManager.ObjectCollection} add(data)
```

Метод полностью дублирует логику [ObjectManager.add](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ObjectManager.md#add).

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

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

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

Объекты, добавляемые в слой. ||
|#

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

**Пример:**

```javascript
objectManager.objects.add({
    type: 'Feature',
    geometry: {
        type: 'Point',
        coordinates: [55.33, 36.64]
    }
});
```

### each {#each}

```javascript
{} each(callback, context)
```

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

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

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

Функция-обработчик, в которую передаются объекты коллекции. ||
|| [`context`](#each-param-context)[*](*star) | — | Тип: Object

Контекст выполнения функции-обработчика. ||
|#

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

**Пример:**

```javascript
var singleCounter = 0,
var clusterCounter = 0;
objectManager.objects.each(function (object) {
    var objectState = objectManager.getObjectState(object.id);
    if (objectState.isClustered) {
        clusterCounter++;
    } else {
        if (objectState.isShown) {
            singleCounter++;
        }
    }
});
alert('Количество одиночных меток на карте: ' + singleCounter);
alert('Количество кластеризированных меток: ' + clusterCounter);
```

### getAll {#getAll}

```javascript
{Object[]} getAll()
```

**Возвращает** массив объектов, содержащихся в коллекции.

### getById {#getById}

```javascript
{Object|null} getById(id)
```

**Возвращает **объект или null, если объекта с переданным id не существует.

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

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

Идентификатор объекта. ||
|#

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

**Пример:**

```javascript
objectManager.objects.add('click', function (e) {
    var objectId = e.get('objectId'),
        object = objectManager.objects.getById(objectId);
});
```

### getLength {#getLength}

```javascript
{Number} getLength()
```

**Возвращает **количество объектов в коллекции.

**Пример:**

```javascript
alert('Количество объектов в слое: ' + objectManager.objects.getLength());
```

### getObjectManager {#getObjectManager}

```javascript
{ObjectManager} getObjectManager()
```

**Возвращает** родительский слой объектов коллекции.

### remove {#remove}

```javascript
{objectManager.ObjectCollection} remove(data)
```

Метод полностью дублирует логику [ObjectManager.remove](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ObjectManager.md#remove).

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

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

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

Объекты, которые нужно удалить. ||
|#

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

**Пример:**

```javascript
// Удалим объекты с идентификаторами 34 и 25.
objectManager.objects.remove([34, 25]);
```

### removeAll {#removeAll}

```javascript
{objectManager.ObjectCollection} removeAll()
```

Удаляет все элементы коллекции.

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

**Пример:**

```javascript
objectManager.objects.removeAll();
```

### setObjectOptions {#setObjectOptions}

```javascript
{objectManager.ObjectCollection} setObjectOptions(objectId, options)
```

Метод, позволяющий динамически обновлять опции объекта. Метод следует использовать в случаях, когда вы хотите, чтобы новые опции мгновенно применились к отображению объекта на карте. Обратите внимание, менеджер не учитывает опцию 'visible'.

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

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

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

Идентификатор объекта, которому нужно задать опции. ||
|| [`options`](#setObjectOptions-param-options)[*](*star) | — | Тип: Object

Новые опции объекта. ||
|#

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

**Пример:**

```javascript
// Изменение цвета значка при наведении курсора.
objectManager.objects.events.add('mouseenter', function (e) {
    var objectId = e.get('objectId');
    var overlay = objectManager.objects.overlays.getById(objectId);
    setRedColor(objectId);
    overlay.events.add('mapchange', setGreenColor);
});

objectManager.objects.events.add('mouseleave', function (e) {
    var objectId = e.get('objectId');
    var overlay = objectManager.objects.overlays.getById(objectId);
    setGreenColor(objectId);
    overlay.events.remove('mapchange', setGreenColor);
});

function setGreenColor (objectId) {
    objectManager.objects.setObjectOptions(objectId, {
        preset: 'islands#greenIcon'
    });
}

function setRedColor (objectId) {
    objectManager.objects.setClusterOptions(objectId, {
        preset: 'islands#redIcon'
    });
}
```

<!-- XLIFF_FARM_M2I2MjA1_CACHING -->

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