Не могу удалить объект из кластера yandex map api
Делаю карту с кластерами, через Яндекс АПИ для JS (версия: 2.78)
Создаю кластеры через classter = new ymaps.Clusterer({...})
Кластеры создаются и появляются на карте.
По нажатию на кнопку вне области карты, я пытаюсь удалить все кластеры с карты.
classter.removeAll().
Тут же вывожу состояние переменной clastter в консоль и вижу что кластеров в переменной действительно нет.
Однако все кластеры остаются на карте
Я пробовал удалить их через myMap.geoObjects.remove() || myMap.geoObjects.removeAll(), но
1 Не могу найти объекты кластеров в myMap.geoObjects.
2 Метод myMap.geoObjects.removeAll() удаляет с карты все (включая кластеры), а мне это не подходит
Я могу получить список гео-объектов в кластере через конструкцию
clusterer.getGeoObjects().forEach(elem => {
console.log(elem)
// Один гео-объект
}
Я не понимаю как это всё связать и либо удалить гео-объект из кластера и из карты. Либо обновить вид карты с новыми кластерами
Буду благодарен за любой дельный совет
Ответы (1 шт):
Вам нужно заставить кластерер перерисоваться. Попробуйте дёрнуть туда-сюда его опции. Я, правда, работаю не напрямую с кластерерами, а через ObjectManager. Мне в подобных случаях помогли следующие трюки:
myObjectManager.clusters.setClusterOptions(cluster.id, {preset: 'islands#redClusterIcons', });
myObjectManager.clusters.setClusterOptions(cluster.id, {preset: '', });
и
myObjectManager._hideObjects();
myObjectManager._showObjects();