Клуб API Карт

Удаление невидимых объектов с карты

Пост в архиве.

Возможно уже было и не раз, но поиск что то не дал нужных резултатов. Нужно удалять все обьекты с карты которые в данный момент на ней не видны, например после изменения масштаба карты, как это можно реализовать?

9 комментариев

меняю масштаб карты или скролю карту, вообщем при событии "boundschange", все обьекты вне видимости с карты анигилируются 

var allObjects= ymaps.geoQuery(myMap.geoObjects),

     visibleObjects = allObjects.searchIntersect(myMap),

     hiddenObjects = allObjects.remove(visibleObjects);

visibleObjects.options.set('visible', true);

hiddenObjects.options.set('visible', false);

а чего то подобного для 2.0.0?

Этот код работает в версии 2.0.31

я в курсе :) поэтому и спросил для 2.0.0

У нас нет версии с номером 2.0.0, поэтому я и уточнила.

Для версий младше 31:

1. слушаете boundschange

2. Вычисляете границы карты в глобальных пиксельных координатах

3. Перебираете все точки и по глобальным пиксельным координатам проверяете, попадают ли точки в видимую область

я понял, решил что проще все же использывать 31 версию, и спасибо большое за помощь. 

только не options.set, а .setOptions('name', val);