Для работы с маркерами сначала следует добавить слой, на который они будут добавляться — YMapDefaultFeaturesLayer:
map.addChild(new YMapDefaultFeaturesLayer())Который прежде следует объявить в ymaps3:
const { YMap, YMapDefaultSchemeLayer, YMapListener, YMapMarker, YMapDefaultFeaturesLayer } = ymaps3;Слушатель вы добавляете верно, но обработчик необходимо задавать иначе, а координаты событие клика возвращает не пиксельные, а сразу географические:
// Обработчик кликов const clickCallback = (object, event) => { const coordinates = event.coordinates; // Выводим координаты в консоль console.log('Координаты клика:', coordinates); // Создание элемента метки // ... // Добавление маркера на место клика // ... };И кастомные маркеры сначала необходимо создавать отдельно как html-элемент:
// Создание элемента метки const markerElement = document.createElement('div'); markerElement.className = 'marker-class'; markerElement.innerText = "Место ↓ клика"; markerElement.style = "position:relative;background:#fff;border:1px solid#aaa;width:99px;height:20px;left:-50px;top:-21px";И уже только после этого добавлять по координатам клика, указав элемент:
// Добавление маркера на место клика const marker = new YMapMarker({ coordinates: coordinates, }, markerElement); map.addChild(marker);Демо-пример: https://jsbin.com/metotit/2/edit?js,output