ERROR:Tried to register widget id ==basemapGalleryDiv but that id is already registered解决办法

在ArcGIS Server开发中,遇到DIV已经被注册的情况,不能对原DIV内容进行更新。这里需要调用Dojo的destroyRecursive()方法,逐个销毁该Widget下的子元素及其后代元素。然后就可以在原DIV上注册新的小部件。

示例代码:

 

var stackedLegend = dijit.byId("legendDiv");
    if (stackedLegend) {
        stackedLegend.destroyRecursive(true);
    }
    var legendDijit = new esri.dijit.Legend({
        map: map,
        arrangement: esri.dijit.Legend.ALIGN_LEFT
    }, "legendDiv");
    legendDijit.startup();

 后面经过测试直接使用Dojo的destroy()方法也是有效的。

转载于:https://www.cnblogs.com/GISQZC/p/5394580.html

你可能感兴趣的:(ERROR:Tried to register widget id ==basemapGalleryDiv but that id is already registered解决办法)