@morpeh58

Как фильтровать Placemark, входящие в зону просмотра карты, так, чтобы при открытие balloon он не закрывался?

Сначала создается Clusterer, в который будут добавляться Placemark.
Обработчик вешается на событие boundschange
Ymap.events.add('boundschange', this.handleChange);

Далее делается выборка по объектам
const query = ymaps.geoQuery(this.geoPlaceMarks);
const visibleGeoObjects = query.searchInside(mapInstance);

Далее фильтрация что добавить, что удалить из кластера
const geoObjectsToRemove = this.geoPlaceMarks.filter(({ properties }) => ids.some(id => id !== properties.get('id')));
const geoObjectsToAdd = this.geoPlaceMarks.filter(({ properties }) => ids.some(id => id === properties.get('id')));
clusterInstance.remove(geoObjectsToRemove);
clusterInstance.add(geoObjectsToAdd);

Может кто знает способ получше?
  • Вопрос задан
  • 30 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
24 июн. 2021, в 22:38
300 руб./за проект
24 июн. 2021, в 22:05
5000 руб./за проект
24 июн. 2021, в 22:00
5000 руб./за проект