Quiero hacer básicamente lo que se pide en este enlace. Sin embargo, tengo algunas preguntas, ¿el evento de clic en lienzo está predefinido en openseadragon? Además, este método me da errores Cannot read property of null (reading 'addHandler') . ¿Hay algún otro método para agregar un marcador al punto de clic en el visor openseadragon?
EDIT1: Aparentemente estaba llamando a addHandler antes de agregar una imagen al visor osd. Así que esta situación está arreglada ahora. Así que ahora tengo un ícono que quiero agregar en el punto de hacer clic en el visor.
EDIT2: Bien, el método mencionado en la respuesta anterior funcionó. Pero tuve que declarar una etiqueta img y pasar su id al método addOverlay. También parece que podemos agregar una etiqueta a solo 1 punto usando esto. Lo que tengo es un icono (icono de chakraui precisamente) y quiero adjuntarlo al espectador varias veces. Entonces, cada vez que hago clic en el visor, debe adjuntar una nueva instancia de icono al punto de clic.
Si desea crear uno nuevo cada vez, deberá crear el elemento de superposición usted mismo en lugar de referirse a él por ID.
viewer.addHandler('canvas-click', function(event) { var viewportPoint = viewer.viewport.pointFromPixel(event.position); var element = document.createElement('div'); element.className = 'my-icon'; viewer.addOverlay({ element: element, location: viewportPoint }); });No he probado este código, pero esta debería ser la idea básica.