Возможно увеличить масштаб карты, когда она отображает раскрывшиеся метки кластера?

Рейтинг: 0Ответов: 1Опубликовано: 24.03.2023

Иногда при нажатии на метку кластера карта отображает его метки прямо на границе окна (пример ниже). Подскажите, возможно ли как-то отследить подобную ситуацию, чтобы уменьшить масштаб на единицу? Или, хотя бы, в любом случае уменьшить масштаб карты на единицу после отображения меток кластера?Пример того, как могут отображаться метки

Ответы

▲ 0Принят

Включите кластеризатору учёт отступов useMapMargin, и задайте удобные вам отступы через заданных map.margin.Manager или сразу при настройке карты.

var myMap = new ymaps.Map('map', {
        center: [55.751574, 37.573856],
        margin: [50,50,50,50],
        zoom: 9
    }),
    clusterer = new ymaps.Clusterer({
        useMapMargin: true
    })

Для менеджера объектов всё делается аналогично.

var objectManager = new ymaps.ObjectManager({
    clusterize: true,
    useMapMargin: true
});

...или: objectManager.options.set({useMapMargin: true});

Но вообще useMapMargin по-умолчанию включен, специально включать его не требуется.

Пример на эту тему в песочнице Яндекса есть.