arcgis for js栅格图层叠加(Raster Layer)问题


Posted in Javascript onNovember 22, 2017

其实呢,这个问题或许与栅格图层(Raster Layer)关系并不十分大,也可能所有类型的图层都有这个问题,我对arcgis尚不十分了解,目前只在栅格图层遇到问题,所以先记下来,存疑。

栅格图层啥问题呢?叠不出来,报错。

比如,有这么个地图服务:

arcgis for js栅格图层叠加(Raster Layer)问题

然后想直接叠加其中一个子图层(可见其类型为栅格图层)。

arcgis for js栅格图层叠加(Raster Layer)问题

代码如下:

var layer = new ArcGISDynamicMapServiceLayer("http://192.168.0.225:6080/arcgis/HN_test/MapServer/1");
map.addLayer(layer);

但这样必报错。报”400”错误,错误提示为:不支持的输出格式。

Error: Output format not supported.
Code: 400

啥格式?就是 image 格式。arcgis图层服务输出的格式有许多种,详见这里

但是,如果只访问图层服务的根地址,则图层可以出来:

var layer = new ArcGISDynamicMapServiceLayer("http://192.168.0.225:6080/arcgis/HN_test/MapServer");//<----------------- 后面没有“/1”
map.addLayer(layer);

arcgis for js栅格图层叠加(Raster Layer)问题

真奇怪啊,我叠FeatureLayer的时候,都是直接访问子图层,从来不见有什么问题。为什么这里却不行,无论是用

ArcGISDynamicMapServiceLayer,
ArcGISImageServiceLayer,
RasterLayer

还是

ArcGISTiledMapServiceLayer,
FeatureLayer

都不行。前三个直接报400错,后两个没报错,但图层根本出不来。

难道栅格图层这么特别?

从周六开始,到今天周二,每天都花了时间去搞这个问题,问了两个高手,但高手没空,有一个其实是提到问题答案了,但我没理解,还是搞不出来。这种问题,到百度上搜,根本无从下手,没有啥代码提到栅格图层的(这也证明其实栅格图层并不需要用什么特别的对象来处理)。

后来偶尔看到网上有篇文章提到访问地图服务,控制子图层,我想起年初刚开始搞arcgis时,自己好像也抄过类似的代码,用于显示或隐藏不同的图层。翻出来一看,果然啊,图层对象有个layerInfos的属性,这里面就是其所有子图层的列表。所有,不仅仅是儿子,还包括孙子及后代。但这个layerInfos加载需要一定的过程,一般在图层加载完毕的事件中才开始访问。

修改代码,图像终于出来了。

arcgis for js栅格图层叠加(Raster Layer)问题

处理过程如下:

1、构建动态切片图层对象

var layer = new ArcGISDynamicMapServiceLayer(http://192.168.0.225:6080/arcgis/rest/services/HN_test/MapServer);

2、该图层对象加载完毕后设置子图层可见属性

if (layer.loaded) {
 buildSubLayerList(layer);
}
else {
 dojo.connect(layer, "onLoad", buildSubLayerList);
} 
function buildSubLayerList(layer) {
 var visible = [];
 dojo.map(layer.layerInfos,function (info, index) {
  if(符合条件) visible.push(info.id);
 });
 map.addLayer(layer);//万事俱备,至此方才将图层添加到地图
}

总结

以上所述是小编给大家介绍的arcgis for js栅格图层叠加(Raster Layer),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
event.srcElement 用法笔记e.target
Dec 18 Javascript
JS特殊函数(Function()构造函数、函数直接量)区别介绍
May 19 Javascript
从jquery的过滤器.filter()方法想到的
Sep 29 Javascript
javascript阻止浏览器后退事件防止误操作清空表单
Nov 22 Javascript
JQuery中ajax方法访问web服务实例
Jul 18 Javascript
JS组件系列之Bootstrap Icon图标选择组件
Jan 28 Javascript
JavaScript函数节流和函数防抖之间的区别
Feb 15 Javascript
layer.confirm取消按钮绑定事件的方法
Aug 17 Javascript
微信小程序实现左滑动删除效果
Mar 30 Javascript
vue transition 在子组件中失效的解决
Nov 12 Javascript
基于vue--key值的特殊用处详解
Jul 31 Javascript
vue添加自定义右键菜单的完整实例
Dec 08 Vue.js
在vue中添加Echarts图表的基本使用教程
Nov 22 #Javascript
ActiveX控件的使用-js实现打印超市小票功能代码详解
Nov 22 #Javascript
前端必备插件之纯原生JS的瀑布流插件Macy.js
Nov 22 #Javascript
vue.js模仿京东省市区三级联动的选择组件实例代码
Nov 22 #Javascript
浅谈Angular 中何时取消订阅
Nov 22 #Javascript
深入理解Angular4订阅(Subscribe)与取消
Nov 22 #Javascript
利用vue + koa2 + mockjs模拟数据的方法教程
Nov 22 #Javascript
You might like
PHP也可以?成Shell Script
2006/10/09 PHP
CodeIgniter多语言实现方法详解
2016/01/20 PHP
Laravel 5.2 文档 数据库 ―― 起步介绍
2019/10/21 PHP
PHP架构及原理知识点详解
2019/12/22 PHP
PHP $O00OO0=urldecode &amp; eval 解密,记一次商业源码的去后门
2020/09/13 PHP
CSS心形加载的动画源码的实现
2021/03/09 HTML / CSS
在Node.js中实现文件复制的方法和实例
2014/06/05 Javascript
node.js中的console.assert方法使用说明
2014/12/10 Javascript
深入解读JavaScript中的Iterator和for-of循环
2015/07/28 Javascript
详解JavaScript的Polymer框架中的通知交互
2015/07/29 Javascript
javascript实现图片上传前台页面
2015/08/18 Javascript
html+js+highcharts绘制圆饼图表的简单实例
2016/08/04 Javascript
JQuery实现列表中复选框全选反选功能封装(推荐)
2016/11/24 Javascript
Node.js 使用流实现读写同步边读边写功能
2017/09/11 Javascript
4 种滚动吸顶实现方式的比较
2019/04/09 Javascript
H5+css3+js搭建带验证码的登录页面
2020/10/11 Javascript
JavaScript实现弹出窗口效果
2020/12/09 Javascript
微信小程序实现下拉加载更多商品
2020/12/29 Javascript
[00:48]DOTA2国际邀请赛公开赛报名开始 扫码开启逐梦之旅
2018/06/06 DOTA
python开发之for循环操作实例详解
2015/11/12 Python
Python中的异常处理try/except/finally/raise用法分析
2019/02/28 Python
python中aioysql(异步操作MySQL)的方法
2019/04/11 Python
python连接PostgreSQL数据库的过程详解
2019/09/18 Python
Python matplotlib以日期为x轴作图代码实例
2019/11/22 Python
Python astype(np.float)函数使用方法解析
2020/06/08 Python
高清屏中使用Canvas绘图出现模糊的问题及解决方法
2019/06/03 HTML / CSS
英国领先的狗和宠物美容专家:Christies Direct
2017/04/03 全球购物
戴尔英国官网:Dell英国
2017/05/27 全球购物
阿迪达斯中国官网:Adidas中国
2020/12/14 全球购物
大学生关于奋斗的演讲稿
2014/01/09 职场文书
公司面试感谢信
2014/02/01 职场文书
小学国旗下的演讲稿
2014/08/28 职场文书
2015年员工试用期工作总结
2014/12/12 职场文书
2015年母亲节活动策划方案
2015/05/04 职场文书
Java日常练习题,每天进步一点点(38)
2021/07/26 Java/Android
使用logback实现按自己的需求打印日志到自定义的文件里
2021/08/30 Java/Android