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

一、图层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、图层添加

添加的时候需要注意下添加指定添加位置,数字越大越靠上

                    renderFeatureLayerrenderGraphicLayer=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),他还是会添加到原来两个图层之间的,这个肯定没问题。

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

  1. Arcgis Javascript那些事儿(十一)--网络分析服务使用

    上一篇文章写了如何使用arcmap发布网络分析服务,发布的最后就是使用,下面就讲讲网络分析服务在arcgis javascript中的使用. 网络分析服务包括:最优路径分析,最近设施点分析,服务区分析 ...

  2. Arcgis javascript那些事儿(二十)——dojo中djconfig配置、dojo与requirejs项目冲突

    一.引言 由于项目一部分使用requirejs另一部分地图是用dojo开发(因为arcgis javascript使用的dojo),两个要和到一起,所以要求研究下如何把两者和到一起,花了两天时间看了看 ...

  3. Arcgis Javascript那些事儿(七)--AMD详解

    讲解arcgis中的amd知识前,首先介绍这两种Javascript模块规范:CommonJS和AMD.我主要介绍AMD,但是要先从CommonJS讲起. CommonJS 2009年,美国程序员Ry ...

  4. Arcgis Javascript那些事儿(六)--arcgis js API本地环境配置

    最近又重新搞起arcgis javascript开发,配置环境时总结了下原来的问题: 以前在webstorm中添加一个API,用来平时在webstorm中调试,然后在自己电脑iis中再配置一个API, ...

  5. Arcgis javascript那些事儿(十八)——空间查询的几种方法

    一.引言 之前写过一些空间查询的方法,隔了半年重新使用的时候又重新查了下,总结了一些新的方法,供初级.中级高级使用者进行不同程度上的定制查询== 二.空间查询1--graphiclayer或featu ...

  6. Arcgis javascript那些事儿(十六)——GP服务的发布与使用

    一.引言 GP服务是为了弥补arcgis api的不足,提供用户自定义接口,有点类似SOE的开发,但是对编程能力要求不是很高,只需要在arcmap中创建模型发布就可以实现. GP服务主要分为两种:一. ...

  7. Arcgis Javascript那些事儿(二)--要素画图编辑

    1.获取要素服务地址 发布服务MyMapService后,可以在ArcGIS Server的Services Directory中可以看到一个名为MyMapService (FeatureServer ...

  8. Arcgis javascript那些事儿(十七)——地理编码服务的发布与使用

    一.引言 地理编码是按照主要是地理位置描述与地理坐标的相互转换,主要包括地理编码与反地理编码. 地理编码指的是根据地名获取位置信息: 反地理编码指的是根据位置信息获取地名: 这个的使用我们要根据需求来 ...

  9. Arcgis javascript那些事儿(十五)——影像服务的发布与使用

    一.引言 以前一直做的是矢量数据的应用,只是在铁三院实习的时候用AE进行了一些影像方面的处理,主要是获取影像中的高程来进行相关的分析.  影像服务是将栅格数据和影像数据作为服务发布出去.此时客户端便可 ...

最新文章

  1. 获取当前正在执行的方法的名称
  2. vue axios springboot 跨域
  3. java seekbar_SeekBar的基本使用方法
  4. 【Vue.js源码解析 二】-- 虚拟 DOM
  5. Unable to instantiate default tuplizer
  6. 关于text-indent
  7. 非常可乐——BFS搜索最少次数
  8. php-fpm stop,php-fpm 启动,重启,终止操作
  9. 图片标注工具labeling的安装和使用
  10. [视频发布] 掘金 Podcast 报名中,摩拜单车、美团点评团队分享 Vue 最佳实践
  11. VSCODE一个阴坑
  12. Balsamiq 介绍
  13. 昆石VOS3000_2.1.6.0.0一键安装教程
  14. win10打开任务管理器的快捷键
  15. 傅里叶变换与快速傅里叶变换
  16. 数据挖掘的分析软件和展示工具
  17. 我的咖啡服务器维护,我的咖啡厅MyCafe文字版全食谱配方详解
  18. R语言 Matrix的使用
  19. 显示前半内容后半内容用省略号_九年级语文下册第四单元写作修改润色课件新人教版...
  20. 基于JAVA网上蛋糕订购系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署

热门文章

  1. 全向轮机器人直线运动分析
  2. mysql免费框架_MySQL(ORM框架)
  3. git 删除分支_深入浅出图解Git,入门到精通(保姆级教程)
  4. ❤️《AOP》(Spring必备技能)
  5. MFC输出EXCEL文档的过程总结
  6. <select> 表单元素
  7. 3D视觉——基恩士LJ-X系列线激光
  8. ASP.NET Core 用户注册 - ASP.NET Core 基础教程 - 简单教程,简单编程
  9. oracle仅部分记录建立索引的方法
  10. 有趣的二进制—高效位运算