arcgis jsapi接口入门系列(2):图层基础操作
//图层相关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):图层基础操作的更多相关文章
- arcgis jsapi接口入门系列(0):总览
开发环境: arcgis jsapi版本4.9 由于我们这套代码是基于vue,webpack开发的,会有少数vue代码,但总体不影响 里面还有些我们公司的js库和html css,给出的代码不能百分百 ...
- arcgis jsapi接口入门系列(5):几何(点线面)基本操作
点 point: function () { //通过wkt生成点 //wkt,代表点的坐标 let wkt = "POINT(113.566806 22.22445)"; //w ...
- arcgis jsapi接口入门系列(3):各种类型的图层添加
这里说的tomcat切片,是指arcgis server切片后,把切片图片文件用tomcat发布(其他任意web服务器发布都行) //添加tomcat切片图层 addTomcatTileLayer: ...
- arcgis jsapi接口入门系列(10):图形高亮
jsapi也有提供高亮的实现接口,但这里没用,而用的是一种改变图形(graphic)样式的思路 本文实现效果是:地图有多个面图形,当鼠标移动到面的上方,面高亮显示,鼠标移出后高亮解除 初始化 //高亮 ...
- arcgis jsapi接口入门系列(4):用代码在地图画点线面
PS:用代码画点这样写是为了跟后面的用鼠标画点线面区分出来 画点 drawPointGraphic: function () { //点有多种样式:一般的点,显示文字,显示图片 //一般的点 let ...
- arcgis jsapi接口入门系列(9):可以同时显示多个的地图popup
jsapi有提供popup功能,但缺点很多,例如地图上只能同时显示一个popup,popup内容有限制等 本文提供另一个方法,原理不用jsapi,在地图外用一个普通的div放在地图上面,再监听地图的鼠 ...
- arcgis jsapi接口入门系列(8):鼠标在地图画面
初始化,每个map执行一次 PS:画点也差不多,都是用SketchViewModel,因此本demo没有专门写画点的 drawPolygonInit: function () { //画几何对象初始化 ...
- arcgis jsapi接口入门系列(7):鼠标在地图画线
初始化,每个map执行一次就行 drawPolylineInit: function () { //画几何对象初始化 //新建一个图形图层用于存放画图过程中的图形 let layer = new th ...
- arcgis jsapi接口入门系列(6):样式
symbol: function () { //线样式 //样式详情请看官方文档 let style = { //线颜色,支持多种格式: //CSS color string:例如"dodg ...
随机推荐
- poj3070 求斐波那契数列第n项 ——矩阵快速幂
题目:http://poj.org/problem?id=3070 用矩阵快速幂加速递推. 代码如下: #include<iostream> #include<cstdio> ...
- linux 中的局部变量、全局变量、shell 变量的总结
系统局部变量和全局变量 一.变量分类局部变量和环境变量,局部变量只适用于当前shell,而环境变量是全局的,它适用于所有当前shell以及其派生出来的任意子进程,有些变量是用户创建的,其他的则是专用 ...
- 微信小程序 实现websocket长连接 以及断开连接之后自动重连
app.js let socketMsgQueue = [] let isLoading = false App({ globalData: { userInfo: null, localSocket ...
- bzoj1598
K短路 和超级钢琴之类的差不多 先反图跑最短路,从原点向外拓展,每个点最多拓展k次,否则不可能是k短路 #include<bits/stdc++.h> using namespace st ...
- ASP.NET Web应用程序修改页面Inherits示例
<@page 中 Codebehind .Inherits 和aspx的关系 CodeBehind 指定包含与页关联的类的已编译文件的名称.该属性不能在运行时使用. 说明: 提供此属性是为了与以 ...
- Ipython使用总结1
安装了Anaconda就会发现安装了很多组件.也就省去了安装包时候的依赖问题 https://www.continuum.io/downloads 2 Ipython基础 (1)启动: win+R 启 ...
- maven构建java项目、web项目
maven构建java项目.web项目 一.mvn构建web项目 1安装mvn(包括path) 2命令:mvn archetype:create -DgroupId=cn.edu.sdau.neat ...
- Flutter实战视频-移动电商-66.会员中心_编写ListTile通用方法
66.会员中心_编写ListTile通用方法 布局List里面嵌套一个ListTile的布局效果 里面有很多条记录,以后可能还会增加,所以这里我们做一个通用的组件 通用组件方法 这里使用Column布 ...
- 创建Sitemap文件供搜索引擎使用
以下内容转载自 http://www.cnblogs.com/webtrados/archive/2009/12/29/1635305.html 如何创建Sitemap文件 Sitemap的格式有XM ...
- TP5之查询那些事
1.使用 model 查询,查出的类型为 对象 $a 是一个对象,使用 $a->name 的方式来获取 对象里的属性 2.使用 db 查询,查询出的是 数组 $b 是一个数组,使用 $b['na ...