删除 Cesium 的相机移动事件监听器

Remove Cesium's Camera Move Event Listener

我有以下事件侦听器:

  viewer.camera.moveStart.addEventListener(function(removeextra) {
     // the camera started to move
     clearoriginal();
    });
viewer.camera.moveEnd.addEventListener(function(addback) {
     // the camera stopped moving

     getresults();

});

如何删除这些事件侦听器?不知道syntax.I用下面的试了还是不行。

viewer.camera.moveStart.removeEventListener(removeextra);
      
viewer.camera.moveEnd.removeEventListener(addback);

viewer.camera.moveEnd.removeEventListener('click', getresults,// 传递你添加的方法 错误的 );

addEventListener() 和 removeEventListener() 在旧版浏览器中不存在。您可以通过在脚本开头插入以下代码来解决此问题,允许在本身不支持它的实现中使用 addEventListener() 和 removeEventListener()。但是,由于扩展了元素,此方法不适用于 Internet Explorer 7 或更早版本。直到 Internet Explorer 8 才支持原型。

我研究了 Cesium,我想你可以这样重写它们

viewer.camera.moveStart.addEventListener(clearoriginal);
viewer.camera.moveEnd.addEventListener(getresults);

// then to remove

viewer.camera.moveStart.removeEventListener(clearoriginal);
viewer.camera.moveEnd.removeEventListener(getresults);