ArcGIS JavaScript api映射更新结束停止触发

ArcGIS JavaScript api映射更新结束停止触发,javascript,dojo,arcgis-js-api,Javascript,Dojo,Arcgis Js Api,我们有一个使用arcgis JavaScript api的复杂web映射应用程序。以下代码用于通知ui已加载地图图层: on(map,"update-end",function(){ //emit event to ui module }); map.addLayers(layers); 应用程序经常添加和删除地图图层。然而,偶尔会出现一些问题,尽管添加了层,但更新结束事件不会被触发,尽管层完成了加载。发生这种情况后,除非应用程序重新加载,否则事件不会再次触发 有人知道在什么情况下会

我们有一个使用arcgis JavaScript api的复杂web映射应用程序。以下代码用于通知ui已加载地图图层:

on(map,"update-end",function(){
    //emit event to ui module
});

map.addLayers(layers);
应用程序经常添加和删除地图图层。然而,偶尔会出现一些问题,尽管添加了层,但更新结束事件不会被触发,尽管层完成了加载。发生这种情况后,除非应用程序重新加载,否则事件不会再次触发


有人知道在什么情况下会发生这种情况吗?我们如何防止这个问题?

我通常把我的
映射放在(“updateend”,endUpdateMap)上语句。这对我来说很好

map.on("update-end", endUpdateMap);

function endUpdateMap(error) {
         esri.hide(loading);
         map.enableMapNavigation();
         map.disableDoubleClickZoom();
         map.showZoomSlider();
 }

我有这个问题,我认为JSAPI中实际上有一个bug。如果在更新时删除图层,则实际上会中断“更新开始”和“更新结束”事件,它们将完全停止触发。我会试着在某个时候把一个测试用例放在一起,但是我发现在一个缓慢的绘图层上,就像一个图像服务一样,这个问题非常普遍

无论如何,我必须想一个办法来解决这个问题,这就是我想到的:

this.layer.setVisibility(false); // set invisible first to ensure spinner stop
this.map.removeLayer(this.layer);