Обработка событий на объектах в ObjectManager с кастомным layout
Упрощенно есть следующий код:
ymaps.ready(() => {
const map = new ymaps.Map('map', {
center: [55.76, 37.64],
zoom: 10
});
const objectManager = new ymaps.ObjectManager({
clusterize: true,
geoObjectIconLayout: ymaps.templateLayoutFactory.createClass(`
<div class="geoObject">
content
</div>
`)
});
map.geoObjects.add(objectManager);
objectManager.objects.events.add('click', e => alert(e.get('objectId')));
objectManager.add({
id: 1,
type: 'Feature',
geometry: {
type: 'Point',
coordinates: [55.76, 37.64],
},
})
});
Если не передавать geoObjectIconLayout, то все работает.
Добавление переопределения методов в createClass представленных ниже, также не помогло:
ymaps.templateLayoutFactory.createClass(`
<div class="geoObject">
content
</div>
`, {
build() {
this.constructor.superclass.build.call(this);
this.getElement().firstElementChild.addEventListener(
'click',
() => this.events.fire('click', {})
);
},
clear() {
this.constructor.superclass.clear.call(this);
},
})
Каже все таки обрабатывать события на кастомном лейауте?