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 相关文章推荐
IE8 原生JSON支持
Apr 13 Javascript
js 跨域和ajax 跨域问题小结
Jul 01 Javascript
使用JavaScript switch case 另类写法
Mar 14 Javascript
jquery动画1.加载指示器
Aug 24 Javascript
获取表单控件原始(初始)值的方法
Aug 21 Javascript
jquery实现叠层3D文字特效代码分享
Aug 21 Javascript
jquery ajax双击div可直接修改div中的内容
Mar 04 Javascript
新手学习前端之js模仿淘宝主页网站
Oct 31 Javascript
JavaScript中最常见的三个面试题解析
Mar 04 Javascript
JavaScript 过滤关键字
Mar 20 Javascript
Angular.js中ng-include用法及多标签页面的实现方式详解
May 07 Javascript
解决Vue axios post请求,后台获取不到数据的问题方法
Aug 11 Javascript
在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实现从身份证中提取生日
2016/05/09 PHP
php基于Redis消息队列实现的消息推送的方法
2018/11/28 PHP
JavaScript.Encode手动解码技巧
2010/07/14 Javascript
jquery.combobox中文api和例子,修复了上面的小bug
2011/03/28 Javascript
seajs1.3.0源码解析之module依赖有序加载
2012/11/07 Javascript
jquery实现checkbox全选全不选的简单实例
2013/12/31 Javascript
JavaScript获取网页、浏览器、屏幕高度和宽度汇总
2014/12/18 Javascript
用户代理字符串userAgent可实现的四个识别
2015/09/20 Javascript
jquery判断复选框选中状态以及区分attr和prop
2015/12/18 Javascript
详解Bootstrap创建表单的三种格式(一)
2016/01/04 Javascript
JavaScript核心语法总结(推荐)
2016/06/02 Javascript
JavaScript新增样式规则(推荐)
2016/07/19 Javascript
javascript设计模式Constructor(构造器)模式
2016/08/19 Javascript
详解JS对象封装的常用方式
2016/12/30 Javascript
JavaScript 装逼指南(js另类写法)
2020/05/10 Javascript
微信小程序input抖动问题的修复方法
2021/03/03 Javascript
[03:39]2015国际邀请赛主赛事首日精彩回顾
2015/08/05 DOTA
批处理与python代码混合编程的方法
2016/05/19 Python
详解Python中的Descriptor描述符类
2016/06/14 Python
Python3实现从排序数组中删除重复项算法分析
2019/04/03 Python
Python操作redis实例小结【String、Hash、List、Set等】
2019/05/16 Python
Django文件存储 自己定制存储系统解析
2019/08/02 Python
详解HTML5之pushstate、popstate操作history,无刷新改变当前url
2017/03/15 HTML / CSS
GNC健安喜美国官网:美国第一营养品牌
2016/07/22 全球购物
世界著名的顶级牛排:Omaha Steak(奥马哈牛排)
2016/09/20 全球购物
印度低票价航空公司:GoAir
2017/10/11 全球购物
巴黎一票通:The Paris Pass
2018/02/10 全球购物
什么时候需要进行强制类型转换
2016/09/03 面试题
机械工程师求职自我评价
2013/09/23 职场文书
机械电子工程专业自荐书
2014/06/10 职场文书
敬老院献爱心活动总结
2014/07/08 职场文书
竞选班干部演讲稿500字
2014/08/20 职场文书
公安机关正风肃纪剖析材料
2014/10/10 职场文书
公司食堂管理制度
2015/08/05 职场文书
小学副班长竞选稿
2015/11/21 职场文书
2016年读书月活动总结范文
2016/04/06 职场文书