Клуб API Карт

Как изменить текст балуна объекта, добавленного через ObjectManager?

f-ph
14 сентября, 04:44

Добрый день! Я создаю карту с кучей точек на ней. Точки добавляю с помощью ObjectManager:

const map = new ymaps.Map(document.getElementById('map'), {
    center: [63, 121],
    zoom: 6
});
const objectManager = new ymaps.ObjectManager({
    clusterize: true
});
objectManager.add({
    type: 'FeatureCollection',
    features: [
        {
            type: 'Feature',
            id: 1,
            geometry: {
                type: 'Point',
                coordinates: [64, 122]
            },
            properties: {
                balloonContentBody: 'Загрузка...'
            }
        },
        {
            type: 'Feature',
            id: 2,
            geometry: {
                type: 'Point',
                coordinates: [62, 120]
            },
            properties: {
                balloonContentBody: 'Загрузка...'
            }
        }
        // ...
    ]
});
map.geoObjects.add(objectManager);

Как в произвольный момент времени изменить текст балуна точки? Желательно не отказываться от ObjectManager, чтобы не жертвовать производительностью.

Пробовал так, получилось только изменить внешний вид метки:

objectManager.objects.setObjectOptions(1, {
    preset: 'islands#redIcon',
    balloonContentBody: 'Загружено (бла бла бла)',
    properties: {
        balloonContentBody: 'Загружено (бла бла бла)'
    }
});

Ещё пробовал так:

objectManager.objects.getById(1).properties.balloonContentBody = 'Загружено (бла бла бла)';

В этом случае новый текст применяется только после открытия балуна (т.е. если балун открыт, текст внутри не поменяется пока не закроешь и не откроешь балун). Есть ли способ получше?