//图层相关demo
layerFun: function () {
//获取地图的所有图层(不包括的图层类型:底图图层(basemaps))
let layers = this.map.layers;
//获取地图的所有图层(包括所有图层类型)
let alllayers = this.map.allLayers;
//PS:以上的类型都是Collection<Layer>(看起来像java的泛型list),不是js原生的东西,详细用法请看arcgis jsapi官方文档 //传统遍历方法
for (let i = 0; i < layers.length; i++) {
let layer3 = layers.getItemAt(i);
} //Collection支持的通用查询方法,用法类似lambda表达式
//根据条件查询指定图层(只返回一个)
var layer2 = layers.find(function (layer) {
return layer.title === "US Counties";
});
//根据条件查询指定图层(返回多个,类型也是Collection)
var layers4 = layers.filter(function (layer) {
return layer.title === "US Counties";
}); //Collection转js array
let layers5 = layers.toArray(); //根据图层id获取图层
let layer1 = this.map.findLayerById("www");
//根据索引获取图层
let layer = layers.getItemAt(0); //获取图层id
//PS:图层id是图层的唯一标识,string类型。在新建图层时可以指定,如果不指定会生成随机数,以保证唯一
let layerId = layer.id;
//图层范围
let fullExtent = layer.fullExtent;
//图层显示比例尺范围
let maxScale = layer.maxScale;
let minScale = layer.minScale;
//图层显示的透明度,值为0-1,1为不透明
let opacity = layer.opacity;
//图层标题
let title = layer.title;
//图层类型
let type = layer.type;
//图层是否显示,类型bool,同时可设置图层是否显示
let visible = layer.visible; //新建图层并把图层添加到地图
//此处以图形图层(GraphicsLayer)为例
layer = new this.apiInstance.GraphicsLayer({
//空间参考,一般要跟地图的一样
spatialReference: this.mapView.spatialReference,
});
//图层添加到地图
this.map.add(layer);
//添加图层时也可以指定图层索引,默认会把图层添加到最后一位,也就是索引的最大值,图层索引越大越在上面,上面的图层会挡住下面的
//另外在添加图层后也可以改变图层索引,是Map的reorder方法,具体请看官方文档
this.map.add(layer, 0); //从地图删除图层
this.map.remove(layer1);
//从地图删除所有图层
this.map.removeAll(); //地图的图层事件监听
//PS:原则上每个map只监听一次
alllayers.on("change", function (event) {
//添加图层事件
console.log("Layer added: ", event.added);
//删除图层事件
console.log("Layer removed: ", event.removed);
//移动图层(顺序)事件
console.log("Layer moved: ", event.moved);
});
},

arcgis jsapi接口入门系列(2):图层基础操作的更多相关文章

  1. arcgis jsapi接口入门系列(0):总览

    开发环境: arcgis jsapi版本4.9 由于我们这套代码是基于vue,webpack开发的,会有少数vue代码,但总体不影响 里面还有些我们公司的js库和html css,给出的代码不能百分百 ...

  2. arcgis jsapi接口入门系列(5):几何(点线面)基本操作

    点 point: function () { //通过wkt生成点 //wkt,代表点的坐标 let wkt = "POINT(113.566806 22.22445)"; //w ...

  3. arcgis jsapi接口入门系列(3):各种类型的图层添加

    这里说的tomcat切片,是指arcgis server切片后,把切片图片文件用tomcat发布(其他任意web服务器发布都行) //添加tomcat切片图层 addTomcatTileLayer: ...

  4. arcgis jsapi接口入门系列(10):图形高亮

    jsapi也有提供高亮的实现接口,但这里没用,而用的是一种改变图形(graphic)样式的思路 本文实现效果是:地图有多个面图形,当鼠标移动到面的上方,面高亮显示,鼠标移出后高亮解除 初始化 //高亮 ...

  5. arcgis jsapi接口入门系列(4):用代码在地图画点线面

    PS:用代码画点这样写是为了跟后面的用鼠标画点线面区分出来 画点 drawPointGraphic: function () { //点有多种样式:一般的点,显示文字,显示图片 //一般的点 let ...

  6. arcgis jsapi接口入门系列(9):可以同时显示多个的地图popup

    jsapi有提供popup功能,但缺点很多,例如地图上只能同时显示一个popup,popup内容有限制等 本文提供另一个方法,原理不用jsapi,在地图外用一个普通的div放在地图上面,再监听地图的鼠 ...

  7. arcgis jsapi接口入门系列(8):鼠标在地图画面

    初始化,每个map执行一次 PS:画点也差不多,都是用SketchViewModel,因此本demo没有专门写画点的 drawPolygonInit: function () { //画几何对象初始化 ...

  8. arcgis jsapi接口入门系列(7):鼠标在地图画线

    初始化,每个map执行一次就行 drawPolylineInit: function () { //画几何对象初始化 //新建一个图形图层用于存放画图过程中的图形 let layer = new th ...

  9. arcgis jsapi接口入门系列(6):样式

    symbol: function () { //线样式 //样式详情请看官方文档 let style = { //线颜色,支持多种格式: //CSS color string:例如"dodg ...

随机推荐

  1. pycharm常用快捷键和自定义快捷键

     默认快捷键 编辑类: Ctrl + Space 基本的代码完成(类.方法.属性)Ctrl + Alt + Space 类名完成Ctrl + Shift + Enter 语句完成Ctrl + P 参数 ...

  2. [转]VC++中操作XML(MFC、SDK)

    XML在Win32程序方面应该没有在Web方面应用得多,很多Win32程序也只是用XML来存存配置信息而已,而且没有足够的好处的话还不如用ini.VC++里操作XML有两个库可以用:MSXML和Xml ...

  3. HDU2586(LCA应用:在带权树中求任意两点之间的距离)

    How far away ? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  4. jquery easyui 实战总结

    (2012-09-26 10:22:24) 转载▼ 标签: it 分类: Javascript 一.tree 1.根据node id查找对应的node,然后选择该节点:                 ...

  5. Locked Treasure

    题意: 有一宝箱,宝箱上有一些锁,有n个人,每个人分管一些钥匙(每个锁对应无数个钥匙), 现给出n,m 求问至少需要多少锁才能存在一种钥匙分配方案使得: 1.至少m个人才可以打开锁. 2.任选m个人一 ...

  6. 4-3逻辑非运算符及案例 & 4-4

    创建类 LoginDemo3 这里取反 !(n%3==0) package com.imooc.operator; import java.util.Scanner; public class Log ...

  7. spring mvc 处理映射的几种方式

    1.Spring MVC bean的nameurl处理映射 <bean class="org.springframework.web.servlet.view.InternalReso ...

  8. 设置android设备时间与pc时间同步的批处理

    新建一个批处理文件 然后输入下面的内容: @echo off echo %date% echo %time% ,%%,%%,%.%,%%,%%,% //通过获取pc时间来设置android设备时间 a ...

  9. 玲珑OJ1088【蜜汁尺取】

    前言(膜法): 早上10点多开始膜的,然后到中午交了一发,感觉膜法不对啊!然后就兴起小窗了一发管理员,然后管理员给我发了in,out数据...可是太大并没有什么可取性... 还是自己试,然后发现自己搞 ...

  10. Unity2D研究院之自动生成动画、AnimationController、Prefab(一)

    http://www.xuanyusong.com/archives/3243 国庆了,回家了.时刻还是要吃一颗学习的心,在家了也要抽出时间好好学习一下.之前MOMO一直没研究过Unity2D,今天研 ...