ArcGIS JavaScript中带标签层的TOC

ArcGIS JavaScript中带标签层的TOC,javascript,arcgis,dijit.form,Javascript,Arcgis,Dijit.form,我使用的是ArcGIS JavaScript 3.7 API,我使用的是agsjs.dijit.TOC控件,它可以正常工作,但当我在地图中添加标签层时,时间标签层可以正常工作,但TOC不能正常工作 当按下复选框打开或关闭图层时,它工作正常,但关于要素图层,我添加了一个标签图层,但没有打开或关闭 谁能告诉我如何关闭或打开标签层 提前谢谢 我正在粘贴一些代码 Var load = function () { require(["dojo/_base/Color", "esri

我使用的是ArcGIS JavaScript 3.7 API,我使用的是agsjs.dijit.TOC控件,它可以正常工作,但当我在地图中添加标签层时,时间标签层可以正常工作,但TOC不能正常工作

当按下复选框打开或关闭图层时,它工作正常,但关于要素图层,我添加了一个标签图层,但没有打开或关闭

谁能告诉我如何关闭或打开标签层

提前谢谢

我正在粘贴一些代码

        Var load = function () {
    require(["dojo/_base/Color", "esri/symbols/TextSymbol", "esri/renderers/SimpleRenderer", "esri/renderers/ScaleDependentRenderer"],
    function (Color, TextSymbol, SimpleRenderer, ScaleDependentRenderer) {
    var statesColor = new Color("#666");
    var fieldLabel = new TextSymbol().setColor(statesColor);
    fieldLabel.font.setSize("4pt");
    fieldLabel.font.setFamily("arial");

    statesLabelRenderer = new SimpleRenderer(fieldLabel);
    return statesLabelRenderer;
});
    }
    var layers = [];  
    var layer = new esri.layers.FeatureLayer(url, {
        mode: esri.layers.FeatureLayer.MODE_ONDEMAND,
        outFields: ["*"]                                    
    });
    layers.push(layer);

    layerInfo.push({ layer: layer, title: item["LookupDisplayDesc"], boxLabel: item["LookupDisplayDesc"], id: layer.id, checked: layer.visibleAtMapScale, slider: true });

if (item["LookupLongDesc"] != null && item["LookupLongDesc"] != "") {
    var fieldNames = item["LookupLongDesc"].split(",");
    var labelFields = "";
for (var i = 0 ; i < fieldNames.length ; i++) {
    labelFields = labelFields + "${" + fieldNames[i].trim() + "},";
}
    labelFields = labelFields.slice(0, -1).trim();
    load();
    var labelLayer = new esri.layers.LabelLayer();
    labelLayer.addFeatureLayer(layer, statesLabelRenderer, labelFields);
    layers.push(labelLayer);
    }
}
map.addLayers(layers);


 dojo.connect(map, 'onLayersAddResult', function (results) {
                if (layerInfo.length > 0) {
                    var legendDijit = new esri.dijit.Legend({
                        map: map,
                        layerInfos: layerInfo
                    }, "legendDiv");
                    legendDijit.startup();
                }
                toc = new agsjs.dijit.TOC({
                    map: map,
                    layerInfos: layerInfo
                }, 'LayerDiv');
                toc.startup();                
            });
Var load=函数(){
要求([“dojo/_base/Color”、“esri/symbols/TextSymbol”、“esri/Renders/SimpleRenderer”、“esri/Renders/ScaleDependenderer”],
函数(颜色、文本符号、SimpleRenderer、ScalePendenderer){
var statesColor=新颜色(“#666”);
var fieldLabel=new TextSymbol().setColor(statesColor);
fieldLabel.font.setSize(“4pt”);
fieldLabel.font.setFamily(“arial”);
statesLabelRenderer=新的SimpleRenderer(字段标签);
返回状态;
});
}
var层=[];
var layer=新的esri.layers.FeatureLayer(url{
模式:esri.layers.FeatureLayer.mode_ONDEMAND,
外场:[“*”]
});
层。推(层);
layerInfo.push({layer:layer,title:item[“LookupDisplayDesc”],boxLabel:item[“LookupDisplayDesc”],id:layer.id,选中:layer.visibabletmapscale,slider:true});
如果(项[“LookupLongDesc”]!=null和项[“LookupLongDesc”]!=”){
var fieldNames=item[“LookupLongDesc”].split(“,”);
var labelFields=“”;
对于(变量i=0;i0){
var legendDijit=新的esri.dijit.Legend({
地图:地图,
layerInfos:layerInfo
}“legendDiv”);
legendDijit.startup();
}
toc=新的agsjs.dijit.toc({
地图:地图,
layerInfos:layerInfo
}“LayerDiv”);
toc.startup();
});

不熟悉TOC的工作原理,我手动构建我的层逻辑。如果您选择手动路径,您可以使用如下所示的显示和隐藏,或使用如下所示的setVisibleLayers

层逻辑中的简单显示和隐藏是:

labelLayer.hide();
labelLayer.show();

伙计们,我在等待答复。。。