Arcgis Javascript那些事儿(八)--图层获取与图层顺序
2016-12-27 22:08
225 查看
这两天写一些系统基本图层的时候要涉及到同一个map切换layer的功能,这里主要涉及到了图层获取与图层顺序的问题,单独拿出来总结了下。
这里的id是我们当时创建layer时创建的(如果不写会有默认id)。如下图。记住这个id,我们可以直接得到layer。
这里map中的id有三类,如下图:
basemapLayerIds这个一般找的时候为空,猜测可能是arcgisonline自带服务layer;
layerIds这个是除了graphiclayer之外的一般放在这里面,一般是tiledlayer等底图;
graphicsLayerIds一看名字就是到是graphiclayer图层;
其实我也不晓得他为什么这么分,不放在一起,费解==
当然
var layer=map.getLayer("areabase");
if(layer!=null)
{
map.removeLayer(layer);
}
添加的时候需要注意下添加指定添加位置,数字越大越靠上
////renderFeatureLayer
renderGraphicLayer=new GraphicsLayer({id: "render"});
renderGraphicLayer.setOpacity(1);
map.addLayer(renderGraphicLayer,0);
index?),其中index就是图层的顺序,从0、1、2、3依次增长,数字越大越靠近用户。
这里使用的时候会有些问题:
假如我直接这样写:map.addLayer(featureLayer,100);
写了100但它index不见得是100,因为它默认添加到最外图层的下一个位置,比如原来有两个图层0、1,添加上述新图层后index会改为2。
所以不要乱插奥,当然你要是 map.addLayer(featureLayer,1),他还是会添加到原来两个图层之间的,这个肯定没问题。
一、图层layer获取
1、通过id获取
首先从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之外的一般放在这里面,一般是tiledlayer等底图;
graphicsLayerIds一看名字就是到是graphiclayer图层;
其实我也不晓得他为什么这么分,不放在一起,费解==
当然
二、图层的添加与删除
1、图层删除
删除的时候只要用上面的方法找到layer,然后remove就可以了var layer=map.getLayer("areabase");
if(layer!=null)
{
map.removeLayer(layer);
}
2、图层添加
添加的时候需要注意下添加指定添加位置,数字越大越靠上////renderFeatureLayer
renderGraphicLayer=new GraphicsLayer({id: "render"});
renderGraphicLayer.setOpacity(1);
map.addLayer(renderGraphicLayer,0);
三、图层顺序
图层顺序控制可以在添加layer的时候控制,利用addLayer(layer,index?),其中index就是图层的顺序,从0、1、2、3依次增长,数字越大越靠近用户。
这里使用的时候会有些问题:
假如我直接这样写:map.addLayer(featureLayer,100);
写了100但它index不见得是100,因为它默认添加到最外图层的下一个位置,比如原来有两个图层0、1,添加上述新图层后index会改为2。
所以不要乱插奥,当然你要是 map.addLayer(featureLayer,1),他还是会添加到原来两个图层之间的,这个肯定没问题。
相关文章推荐
- 学到javascript的函数了。
- bootscript/javascript组件
- JavaScript写计算器
- bootscript/javascript组件
- 【经典算法】:Dijskstra算法与Floyd算法
- 【ife】任务十九:基础JavaScript练习(二)
- javaScript判断浏览器类型
- JavaScript 选项卡
- JS基础——switch语句小练
- js跳转url携带参数和传递中文乱码问题
- JavaScript数据转换四——隐式类型转换
- Javascript url地址传参及获取参数方法(利用正则表达式)
- js图片延迟加载
- 10点的
- js数组的三种声明方式
- 9点的
- JavaScript 将字符串第一个字母转换成大写其余的均为小写
- HTML5+CSS3+JS学习笔记-11-CSS3之3D转换的用法
- javascript 删除 ascii 控制字符
- Javascript编程风格