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()方法也是有效的。

posted @ 2016-04-15 11:03  GISQZC  阅读(922)  评论(0编辑  收藏  举报