Теряются объекты балуна после ajax Яндекс карты
Создаю карты через ObjectManager
Использую свои шаблоны для балуна
objectManager.objects.options.set({
balloonContentLayout: MyBalloonContentLayout,
balloonLayout: MyBalloonLayout,
});
И добавляю на карту. Всё выводится корректно. При клике на элемент на карте или в html открывается балун
objectManager.objects.balloon.open(geoObjId);
Фильтрация, при получения ответа от ajax выполняется функция, которая принимает новые геообъекты, фильтрует и добавляет на карту новые
function filterGeoObjects(mapFilteredArr= null) {
const obj = ymaps.geoQuery(objectManager.objects);
let filter = new ymaps.GeoQueryResult();
mapFilteredArr.forEach((ele, i) => {
filter = obj.search(`options.id = ${ele.ID}`).add(filter);
});
window.myMap.geoObjects.removeAll();
const shownObjects = filter
.addToMap(window.myMap)
.applyBoundsToMap(window.myMap);
shownObjects.then(() => {
if (shownObjects.getLength() == 1) window.myMap.setZoom(13);
});
}
Фильтрация на карте отрабатывает верно, слетают все шаблоны кастомных балунов геообьектов. Заданных через
ymaps.templateLayoutFactory.createClass()
А если вызвать при клике на элементе objectManager.objects.balloon.open(geoObjId);
то возвращает ошибку Cannot read property 'getType' of null
Не могу понять, что нужно сделать чтобы после фильтрации открывались балуны и сохранялись кастомные шаблоны