Фильтрация полигонов в ObjectManager для отображения на карте
На карте имеются объекты в виде полигонов и точек, которые выгружаются из JSON. Необходимо выводить на карту объекты после фильтрации с учетом установленных на странице двух чекбоксов.
let cc = 0;
function updateMap(geoJson){
objectManager.add(geoJson);
if(++cc == 3){ checkState();};
};
function checkState () {
melFilter = new ymaps.ObjectManager();
osvFilter = new ymaps.ObjectManager();
map.geoObjects.removeAll();
if ($('#obj_mel').prop('checked')) {
melFilter = objectManager.setFilter('id < 100');
};
map.geoObjects.add(melFilter);
if ($('#obj_osv').prop('checked')) {
osvFilter = objectManager.setFilter('id >= 100' );
};
map.geoObjects.add(osvFilter);
};
$.getJSON('data_osv.json', updateMap);
$.getJSON('data.json', updateMap);
$.getJSON('data_obj.json', updateMap);
$('#obj_mel').click(checkState);
$('#obj_osv').click(checkState);
Если включен первый чекбокс (второй отключен по умолчанию), то всё нормально, выводятся объекты с id < 100. При включении второго чекбокса, объекты первого пропадают, включаются только объекты второго, хотя нужно чтобы были выведены все объекты. Если включен второй чекбокс, то первый не реагирует и не выводит объекты.