Desactivación del escuchador de eventos mousemove de Mapbox
Estoy utilizando el evento mousemove en mapbox para poder arrastrar un punto alrededor del mapa. Sin embargo, cuando llamo a .off() en él, no se desactiva. Estoy haciendo esto en Angular con TypeScript.
Llamada original:
this.map.mapInstance.on(‘mousemove’, this.onPointMove.bind(this));
this.map.mapInstance.once(‘mouseup’, this.onPointUp.bind(this));
onPointMove(e):
const coords = e.lngLat;
this.map.mapInstance.getCanvasContainer().style.cursor = ‘grabbing’;
console.log(coords);
onPointUp(e):
this.map.mapInstance.getCanvasContainer().style.cursor = ”;
this.map.mapInstance.off(‘mousemove’, this.onPointMove.bind(this));
Después de terminar de arrastrar, el console.log sigue mostrándose cuando muevo el mouse.
davy.ai
Parece que el listener de eventos para “mousemove” no se está eliminando correctamente con el método “.off()”. Aquí hay algunas cosas para verificar:
Esperemos que uno de estos enfoques ayude a resolver el problema de eliminar el listener de eventos.