手机版

arcgis for js栅格图层问题

时间:2021-09-03 来源:互联网 编辑:宝哥软件园 浏览:

实际上,这个问题可能与栅格图层没有太大关系,也可能存在于所有类型的图层中。我对arcgis还不是很了解。目前只遇到栅格图层的问题,要先记下来,有疑惑。

栅格图层有什么问题?我不能折叠它,并报告一个错误。

例如,有这样一个地图服务:

这里写图片描述

然后你想直接覆盖其中一个子图层(可以看到它的类型是栅格图层)。

这里写图片描述

代码如下:

var layer=new ArcGIS dynamicmapservicelayer(' http://192 . 168 . 0 . 225:6080/ArcGIS/HN _ test/MapServer/1 ');map.addLayer(图层);但这将报告一个错误。报告“400”错误,错误提示为:不支持的输出格式。

错误:不支持输出格式。代码: 400

什么格式?是图像格式。arcgis图层服务输出有多种格式,如下所示

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

var layer=new ArcGIS dynamicmapservicelayer(' http://192 . 168 . 0 . 225:6080/ArcGIS/HN _ test/MapServer ');//-没有“/1”地图。在它后面添加层(layer );这里写图片描述

很奇怪,我在折叠FeatureLayer的时候,总是直接访问子层,从来没有看到任何问题。为什么在这里不管用都不行

ArcGISDynamicMapServiceLayer、ArcGISImageServiceLayer、RasterLayer

仍然

ArcGISTiledMapServiceLayer,FeatureLayer

他们都不行。前三个直接报了400个错误,后两个没有报错误,但是层根本出不来。

光栅图层有这么特别吗?

从周六到周二,我每天都花时间做这道题,问了两个高手,但高手都不在。其中一个居然提到了问题的答案,但是我没看懂,还是想不通。这种问题搜索百度是解决不了的,也没有代码提到栅格图层(这也证明了栅格图层不需要任何特殊对象处理)。

后来偶尔在网上看到一篇关于访问地图服务和控制子图层的文章。我记得年初开始做arcgis的时候,我好像复制了类似的代码来显示或者隐藏不同的图层。抬头一看,果然图层对象有layerInfos属性,这是它所有子图层的列表。所有人,不仅是儿子,还有孙子和他们的后代。但是,这个layerInfos需要一定的进程来加载,通常只有在层加载之后才开始访问。

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

这里写图片描述

处理过程如下:

1.构建动态切片层对象

var layer=new ArcGIS dynamicmapservicelayer(http://192 . 168 . 0 . 225:6080/ArcGIS/rest/services/HN _ test/MapServer);2.加载图层对象后,设置子图层的可见属性

if(layer . loaded){ buildSubLayerList(layer);}else { dojo.connect(layer,' onLoad ',BuildSubYerlist);}函数buildSubLayerList(layer){ var visible=[];道场。地图(图层。layer infos,function (info,index){ if(qualified)visible . push(info . id);});map.addLayer(图层);//一切都准备好了,所以我们可以给地图添加图层}摘要

以上是边肖介绍的js栅格图层的arcgis。希望对大家有帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!

版权声明:arcgis for js栅格图层问题是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。