首页 > 解决方案 > HERE 映射 removeEventListener 不起作用

问题描述

我正在尝试从地图中删除“addEventListerner”,但它不起作用有我的代码:

function dbltapzoom(){
    alert("Remove");
}

 map.addEventListener('pointerdown', function (evt) {
         var coord = map.screenToGeo(evt.currentPointer.viewportX,
         evt.currentPointer.viewportY);

         polygonStroke.setGeometry(coord);
         polygonStroke.setVisibility(true);
         locationVertices.push(polygonStroke);
         map.addObject(polygonStroke);    
},false);

map.addEventListener('dbltap', function () { 
          map.removeEventListener('pointerdown',dbltapzoom,false);
});

老实说,我不知道如何使这项工作。任何帮助和解释我做错了什么都会很好。感谢帮助 :)

标签: javascriptmapshere-api

解决方案


您只能删除相同的注册侦听器。就像您已注册映射侦听handlepointerdown器一样pointerdown,您只能删除handlepointerdown,不能dbltapzoom在同一个侦听器中删除

function dbltapzoom(){
    alert("Remove");
}

function handlepointerdown(evt) {
         var coord = map.screenToGeo(evt.currentPointer.viewportX,
         evt.currentPointer.viewportY);

         polygonStroke.setGeometry(coord);
         polygonStroke.setVisibility(true);
         locationVertices.push(polygonStroke);
         map.addObject(polygonStroke);    
}

 map.addEventListener('pointerdown', handlepointerdown,false);

map.addEventListener('dbltap', function () { 
          map.removeEventListener('pointerdown',handlepointerdown,false);
});

推荐阅读