Arcgis Javascript那些事儿(八)--图层获取与图层顺序

来源:互联网 发布:淘宝账号在哪看到 编辑:程序博客网 时间:2024/05/11 04:34

这两天写一些系统基本图层的时候要涉及到同一个map切换layer的功能,这里主要涉及到了图层获取与图层顺序的问题,单独拿出来总结了下。


一、图层layer获取


1、首先从map中获取layer主要是利用getLayer(id)这个方法,其中传入参数为layer的id(唯一字符串);

这里的id是我们当时创建layer时创建的(如果不写会有默认id)。如下图。记住这个id,我们可以直接得到layer。

var featureLayer = new FeatureLayer(featureURL,    {        id: "build",        mode: FeatureLayer.MODE_SNAPSHOT,        outFields: ["*"]    });

2、如果没有记住,可以利用map中的属性根据layer的顺序获取某个layer的id;如 map.layerIds[0]

这里map中的id有三类,如下图:



basemapLayerIds这个一般找的时候为空,猜测可能是arcgisonline自带服务layer;

layerIds这个是除了graphiclayer之外的一般放在这里面;

graphicsLayerIds一看名字就是到是graphiclayer图层;

其实我也不晓得他为什么这么分,不放在一起,费解==

当然


二、图层顺序

图层顺序控制可以在添加layer的时候控制,利用addLayer(layer, index?),其中index就是图层的顺序,从0、1、2、3依次增长,数字越大越靠近用户。


这里使用的时候会有些问题:

假如我直接这样写:map.addLayer(featureLayer,100);

写了100但它index不见得是100,因为它默认添加到最外图层的下一个位置,比如原来有两个图层0、1,添加上述新图层后index会改为2。

所以不要乱插奥,当然你要是 map.addLayer(featureLayer,1),他还是会添加到原来两个图层之间的,这个肯定没问题。

0 0
原创粉丝点击