Search code examples
javascriptmapshere-api

HERE maps removeEventListener doesn't work


I'm trying to remove an "addEventListerner" from the map, but it is not working There is my code:

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);
});

Honestly, I don't know how to make this work. Any help and explanation what I'm doing wrong would be nice . Thanks for help :)


Solution

  • You can only remove the same registered listener. Like as you have registered to map lister handlepointerdown on pointerdown, you can only remove handlepointerdown, you cannot remove dbltapzoom within the same listener

    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);
    });