Обработка событий на объектах в 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);
  },
})

Каже все таки обрабатывать события на кастомном лейауте?


Ответы (0 шт):