//图层相关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. AutoIT:界面与自动化操作结合来简化日常劳动: .Net Reactor验证License,设置License,创建License,截图AutoIt自动化实现。(七)

    版本六中存在一个显著问题是: 当exe文件生存之后,运行的时候,通过consoleWrite函数打印出来的数据是无法展示出来的.这就存在一个问题:当运行失败的时候,我还是看不到任何log信息. 于是, ...

  2. 关于yolov3 训练输出值

    Region xx: cfg文件中yolo-layer的索引: Avg IOU:当前迭代中,预测的box与标注的box的平均交并比,越大越好,期望数值为1: Class: 标注物体的分类准确率,越大越 ...

  3. 洛谷 1082 同余方程——exgcd(水题)

    题目:https://www.luogu.org/problemnew/show/P1082 大水题. #include<iostream> #include<cstdio> ...

  4. bzoj 1096 仓库建设 —— 斜率优化DP

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1096 设 f[i] 为 i 作为最后一个仓库时前 i 个工厂的答案,最后的答案当然是 f[n ...

  5. 抓屏工具 faststone capture

    百度百科 http://baike.baidu.com/link?url=te51CfOKYIEmqT1jsyRwcB8Pnals5xQ8nUXk6trvBPGSJRBO5G7BEZL7cYQxmx8 ...

  6. JVM 内存区域

    JVM 将内存区域划分为: Method Area(Non-Heap)(方法区) ,Heap(堆) , Program Counter Register(程序计数器) , VM Stack(虚拟机栈, ...

  7. 死磕 java同步系列之volatile解析

    问题 (1)volatile是如何保证可见性的? (2)volatile是如何禁止重排序的? (3)volatile的实现原理? (4)volatile的缺陷? 简介 volatile可以说是Java ...

  8. IT兄弟连 JavaWeb教程 Servlet会话跟踪 Cookie路径问题

    操作Cookie时,需要注意路径问题: 设置操作:任何路径都可以设置Cookie,但是有时我们也是用设置进行替换Cookie和删除Cookie(maxAge=0)! 替换:只能由完全相同的路径来操作! ...

  9. hdu 6299 Balanced Sequence( 2018 Multi-University Training Contest 1 )

    #include <stdio.h> #include <iostream> #include <cstdlib> #include <cmath> # ...

  10. Codeforces 1138B(列方程枚举)

    构造模拟要分情况讨论感觉不是够本质,然后官解是因为只有四个量所以可以根据限制条件列两个方程,再枚举一下解就可以了. const int maxn = 5000 + 5; int n, c[maxn], ...