Как динамически запретить приближение карты при клике на кластер при использовании ObjectManager?

Необходимо, чтобы при нажатии на кластер, в котором все метки имеют одинаковые координаты, не происходило увеличение масштаба карты, а сразу открывался балун с информацией по меткам. Пробовал через clusterDisableClickZoom - не работает.

        myObjectManager.clusters.events.add(['click'], function (e) {
            var objectId = e.get('objectId'),
                    cluster = myObjectManager.clusters.getById(objectId),
                    first = cluster.features[0],
                    match = true,
                    ids = [];
            for (var i = 0; i < cluster.features.length; i++) {
                let feature = cluster.features[i];
                ids.push(feature.place_id);
                if (i > 0 && match) {
                    match = first.geometry.coordinates[0] == feature.geometry.coordinates[0] &&
                            first.geometry.coordinates[1] == feature.geometry.coordinates[1];
                }
            }
            myObjectManager.options.set('clusterDisableClickZoom', match);
            ...
        });

Ответы (1 шт):

Автор решения: YaSupport

Если начать отлов нажатия чуть раньше (по mousedown) и добавить в первую строку функции принудительное отключение автозума 'clusterDisableClickZoom', true, кластеры с точками из одной координаты отрабатывают так, как вам нужно.

    myObjectManager.clusters.events.add(['mousedown'], function (e) {
        myObjectManager.options.set('clusterDisableClickZoom', true);
        var objectId = e.get('objectId'),
                cluster = myObjectManager.clusters.getById(objectId),
                first = cluster.features[0],
                match = true,
                ids = [];
        for (var i = 0; i < cluster.features.length; i++) {
            let feature = cluster.features[i];
            ids.push(feature.place_id);
            if (i > 0 && match) {
                match = first.geometry.coordinates[0] == feature.geometry.coordinates[0] &&
                        first.geometry.coordinates[1] == feature.geometry.coordinates[1];
            }
        }
        myObjectManager.options.set('clusterDisableClickZoom', match);
    });
→ Ссылка