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

# Обработка событий на объектах в ObjectManager

<iframe id="LIVE-EXAMPLE" style="width:100%;height: 400px;border-radius: 8px;border: 1px solid rgba(92, 94, 102, 0.14);" frameBorder="0" src="https://yastatic.net/s3/front-maps-static/maps-front-jsapi-v2-1/examples/2/out/s3-cases/ru/object_manager_events/index.html" allow="fullscreen"></iframe>

<a target="_blank" rel="noopener noreferrer" style="display: inline-block;margin-top: 10px;cursor: pointer;border-radius: 4px;padding: 9px 12px;background: #151515;color: white;text-decoration: none;font-weight: 500" href="https://codesandbox.io/p/sandbox/6vm5md?file=index.html">Open in CodeSandbox</a>

<div id="references">
    <a href="https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ObjectManager">ObjectManager</a>,
    <a href="https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/objectManager.ObjectCollection">objectManager.ObjectCollection</a>,
    <a href="https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/objectManager.ClusterCollection">objectManager.ClusterCollection</a>,
    <a href="https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/objectManager.OverlayCollection">objectManager.OverlayCollection</a>
</div>
<p>
    <a href="https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ObjectManager">ObjectManager</a> - класс, позволяющий добавить на карту большое количество объектов
    без необходимости создавать метки по отдельности.
</p>
<p>
    Объекты, добавленные в ObjectManager, располагаются в коллекции ObjectManager.objects. Кластеры, образованные из
    добавленных меток, добавляются в коллекцию ObjectManager.clusters.
    Визуальное отображение меток создается по требованию асинхронно. Визуальным отображением меток и кластеров
    являются объекты, реализующие интерфейс <a href="https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IOverlay">IOverlay</a>. В частности, <a href="https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/overlay.Placemark">overlay.Placemark</a>.
    Оверлеи помещаются в коллекции ObjectManager.objects.overlays и ObjectManager.clusters.overlays соответственно.
</p>
<p>
    События на оверлеях объектов пропагируются в родительские коллекции. В событии в поле objectId передается уникальный
    идентификатор объекта, на котором произошло событие.
    Идентификаторы для одиночных объектов задаются пользователем, а для кластеров генерируются автоматически при создании.
</p>

{% list tabs %}

-   index.html

    ```html
    <!DOCTYPE html>
    <html>
        <head>
            <title>Обработка событий на объектах в ObjectManager</title>
            <meta
                http-equiv="Content-Type"
                content="text/html; charset=utf-8"
            />
            <!--
            Укажите свой API-ключ. Тестовый ключ НЕ БУДЕТ работать на других сайтах.
            Получить ключ можно в Кабинете разработчика: https://developer.tech.yandex.ru/keys/
        -->
            
            
            
            
        </head>
        <body>
            <div id="map"></div>
        </body>
    </html>
    ```

-   object_manager_events.js

    ```js
    ymaps.ready(init);

    function init() {
        var myMap = new ymaps.Map(
                "map",
                {
                    center: [55.76, 37.64],
                    zoom: 10,
                },
                {
                    searchControlProvider: "yandex#search",
                }
            ),
            objectManager = new ymaps.ObjectManager({
                // Чтобы метки начали кластеризоваться, выставляем опцию.
                clusterize: true,
                geoObjectOpenBalloonOnClick: false,
                clusterOpenBalloonOnClick: false,
            });

        myMap.geoObjects.add(objectManager);

        $.ajax({
            url: "data.json",
        }).done(function (data) {
            objectManager.add(data);
        });

        function onObjectEvent(e) {
            var objectId = e.get("objectId");
            if (e.get("type") == "mouseenter") {
                // Метод setObjectOptions позволяет задавать опции объекта "на лету".
                objectManager.objects.setObjectOptions(objectId, {
                    preset: "islands#yellowIcon",
                });
            } else {
                objectManager.objects.setObjectOptions(objectId, {
                    preset: "islands#blueIcon",
                });
            }
        }

        function onClusterEvent(e) {
            var objectId = e.get("objectId");
            if (e.get("type") == "mouseenter") {
                objectManager.clusters.setClusterOptions(objectId, {
                    preset: "islands#yellowClusterIcons",
                });
            } else {
                objectManager.clusters.setClusterOptions(objectId, {
                    preset: "islands#blueClusterIcons",
                });
            }
        }

        objectManager.objects.events.add(
            ["mouseenter", "mouseleave"],
            onObjectEvent
        );
        objectManager.clusters.events.add(
            ["mouseenter", "mouseleave"],
            onClusterEvent
        );
    }
    ```

{% endlist %}
