arcgis js ArcGISDynamicMapServiceLayer图层控制

来源:互联网 发布:java 调用firefox内核 编辑:程序博客网 时间:2024/05/21 01:45

1、获取ArcGISDynamicMapServiceLayer图层服务

2、控制图层显示通过获取layerInfos实现,图层的显示通过setVisibleLayers实现

 var layer = new esri.layers.ArcGISDynamicMapServiceLayer(url);   map.addLayer(layer,index--序号--可不要); dojo.connect(layer,"onLoad",loadList);   //layers---指代关联的layer function loadList(layers){    var html=""     //获取地图服务中的子图层对象数组,该对象包含子图层的基本信息,不包含属性信息  var infos=layers.layerInfos;    //分别处理每个信息对象  for(var i= 0,length=infos.length;i<length;i++){       var info = infos[i];       //获取图层默认显示情况,如默认为true显示的话就把图层id添加到visible数组中       if(info.defaultVisibility){         visible.push(info.id);       }       //输出图层列表的html        html=html+              "<div><input id='"+info.id+"' name='layerList' class='listCss' type='checkbox' value='checkbox' "+              "onclick='setLayerVisibility()' "+(info.defaultVisibility ? "checked":"")+" />"+info.name+"</div>";    }    //设置可视图层    layer.setVisibleLayers(visible);    //在右边显示图层名列表    dojo.byId("divInMap").innerHTML=html;   }      //关联checkbox的click事件 setLayerVisibility = function(){    //用dojo.query获取css为listCss的元素数组    var inputs = dojo.query(".listCss");    //清空数组   visible = [];    //对checkbox数组进行变量把选中的id添加到visible    for(var i=0;i<inputs.length;i++){     if(inputs[i].checked){       visible.push(inputs[i].id);     }    }    //设置可视图层    layer.setVisibleLayers(visible);   }  

阅读全文
1 0
原创粉丝点击