文档章节

arcgis for js API 4.4 MapImageLayer加载动态图层不出现问题

JaJaCube
 JaJaCube
发布于 2017/09/01 10:58
字数 552
阅读 25
收藏 1
点赞 1
评论 2

小白首发撒花~

初转到arcgis js 4.4,码代码的过程中遇到如下问题:

设定好MapImageLayer及其sublayer之后运行程序,发现图层不能加载出来,报错及MapImageLayer设定代码如下:

 

MapImageLayer设定代码:

 var layer1 = new MapImageLayer({
                    title: "标题_区域绿地1",
                    url: "http://192.168.1.128:6080/arcgis/rest/services/智慧园林示例数据/全示例数据源_比对测试/MapServer",
                    sublayers: [

                        {
                            id: 1,
                            visible:true
                        }, {
                            id: 4,
                            visible: true
                        }, {
                            id: 7,
                            visible: true
                        }
                    ]
                });

报错图:

图上图例不显示

尝试了多种诸如URL修改localhost,清除arcgis server缓存,根据官网Sample加入renderer,修改各种变量名,折腾了一整天也没有解决,第二天上班后简单的对这部分代码进行了重构,意外的发现问题自己解决了,图层正常显示,图例出现,F12工具里也没有之前的大段报错了,神特喵当时以为重启解决的,不甘心,尝试复现,又折腾了一个小时后发现,MapImageLayer中的sublayer的加在顺序必须是id从大到小的顺序,乱序或者从小到大均不能加载出图层并且报之前的错。正确代码如下:

 

 var layer1 = new MapImageLayer({
                    title: "标题_区域绿地1",
                    url: "http://192.168.1.128:6080/arcgis/rest/services/智慧园林示例数据/全示例数据源_比对测试/MapServer",
                    sublayers: [

                        {
                            id: 7,
                            visible:true
                        }, {
                            id: 4,
                            visible: true
                        }, {
                            id: 1,
                            visible: true
                        }
                    ]
                });

神特喵必须降序id!!!!!

然而,最值得吐槽的是,这一切并没有在官网给出的API中说明,并且API官网给出的示例也是不能成功加载的(因为也是id升序排序),你必须把sublayer的id改为降序才能正确出图。

官网API:

费了一整天时间才摸清这个规律,最终问题解决,小白留爪。

图层和图例正确显示如下:

最后,小白初从flex转到js,在大牛@洋碱(附上大牛站内链接:https://my.oschina.net/u/615762  ,多去骚扰他,他脾气特别好~) 的指引下来到本站分享开发经验,望站内众位大佬多多指教,蟹蟹~

 

© 著作权归作者所有

共有 人打赏支持
JaJaCube
粉丝 1
博文 6
码字总数 2489
作品 0
合肥
加载中

评论(2)

JaJaCube
JaJaCube

引用来自“洋碱”的评论

重点不在问题,而在问题的解决办法,小伙子向你学习了
大牛带飞:smiling_imp:
洋碱
洋碱
重点不在问题,而在问题的解决办法,小伙子向你学习了
ArcGIS Maritime Server 开发教程(九)二三维水深服务

ArcGIS Maritime Server 开发教程(九)二三维水深服务 本章导读:ArcGIS 软件体系是使用 ArcGIS Bathymetry 桌面扩展构建和管理水深数据库,并且利用 Image Server 对水深产品进行发布。本章...

liyuanxiang1984 ⋅ 05/24 ⋅ 0

ArcGIS API for JavaScript Remove powered by ESRI logo

ArcGIS API for JavaScript 3.x map = new esri.Map("map", { extent: initExtent, logo:false }); ArcGIS API for JavaScript 4.x var view = new MapView({ ... }); view.ui._removeCompon......

神勇小白鼠 ⋅ 04/23 ⋅ 0

CSDN日报180524——《一个合格的程序员,需要哪些必备技能?》

程序人生 | 一个合格的程序员,需要哪些必备技能? 作者:hollischuang 本文,主要来简单介绍一下,作为一个合格的 Java 开发,除了自身技术成长之外,还有哪些方面可以提升。 点击阅读全文 ...

blogdevteam ⋅ 05/24 ⋅ 0

ArcGIS API for JavaScript 4.6 版本加载高德地

ArcGIS API for JavaScript 4.X 版本升级后,API发生了很大的变化。 其中就支持了WebEarth展示,主要是通过 esri/views/SceneView 实现的。 在新版本中,默认都是加载Esri自己的地图。 若想加...

hui1788 ⋅ 04/15 ⋅ 0

3dmax 模型导入ArcGIS Pro后发布场景服务【二】

3D模式导入的一般流程。 a)使用3ds max软件将模型导出。格式为3ds。 ArcGIS Pro 支持的3D格式: 3D Studio Max (.3ds)、SketchUp (.skp)、VRML 和 GeoVRML (.wrl)、OpenFlight (.flt) 以及 ...

stu_20052369 ⋅ 04/12 ⋅ 0

GeoServer与ArcServer对比

一、GeoServer与ArcServer简介 1、 GeoServer简介 GeoServer是OpenGIS Web服务器规范的J2EE实现的社区开源项目,利用GeoServer可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插...

HarleyZhuge ⋅ 05/08 ⋅ 0

postgresql版sde(10.4.1)安装说明

从ArcGIS 10.3开始,彻底没有了sde的安装包,安装sde数据库需要先安装arcgis desktop,通过arccatalog建数据库,同时也不能建sde服务,只能使用直连 以下演示在sde 10.4.1版在pg数据库中首次...

canneljls ⋅ 05/13 ⋅ 0

第一届对象存储技术及应用大会:Esri中国周宁——万物互联时代,云存储技术的变革与展望

目前,对象存储正在寻找除了云以外的应用案列,这使得对象存储更加广泛地为人们所接受。将于11月16日举办的“第一届对象存储技术及应用大会”活动即将围绕对象存储技术展开全面讨论。此前,让...

玄学酱 ⋅ 05/10 ⋅ 0

ArcGIS for Android 10.2.9(8):计算距离,周长,面积

GeometryEngine是Arcgis的重要工具类,利用此工具类,可以计算地图上的距离、面积,将点、线、面转化为Json数据,将Json转化为点线面,坐标转换作用非常强大。 1.计算距离:...

qq_36699930 ⋅ 04/19 ⋅ 0

在 Docker 上搭建 PostGIS 数据库实现空间数据存储及可视化

此文旨在记录与传播在 Docker 上搭建 PostGIS 数据库实现空间数据存储及可视化的知识要点。 PostGIS 已经有PostGIS经验的大佬可以忽略此段了。解释 PostGIS 之前需要介绍 PostgreSQL (简称 ...

上官瑾文 ⋅ 05/10 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

CENTOS7防火墙命令记录

安装Firewall命令: yum install firewalld firewalld-config Firewall开启常见端口命令: firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --zone=public --add-po......

cavion ⋅ 46分钟前 ⋅ 0

【C++】【STL】利用chromo来测量程序运行时间与日志时间打印精确到微秒

直接上代码吧,没啥好说的。头疼。 #include <iostream>#include <string>#include <ctime>#include <sstream>#include <iomanip>#include <thread>#include <chrono>using ......

muqiusangyang ⋅ 50分钟前 ⋅ 0

Mac环境下svn的使用

在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境。在Mac环境下,由于Mac自带了svn的服务器端和客户端功能,所以我们可以在不装任何第三方软件的前提下使用svn功能,不过还需做一下简...

故久呵呵 ⋅ 59分钟前 ⋅ 0

破解公司回应苹果“USB限制模式”:已攻破

本周四,苹果发表声明称 iOS 中加入了一项名为“USB 限制模式”的功能,可以防止 iPhone 在连接其他设备的时候被破解,并且强调这一功能并不是针对 FBI 等执法部门,为的是保护用户数据安全。...

六库科技 ⋅ 今天 ⋅ 0

MyBtais整合Spring Boot整合,TypeHandler对枚举类(enum)处理

概要 问题描述 我想用枚举类来表示用户当前状态,枚举类由 code 和 msg 组成,但我只想把 code 保存到数据库,查询处理,能知道用户当前状态,这应该怎么做呢?在 Spring 整合MyBatis 的时候...

Wenyi_Feng ⋅ 今天 ⋅ 0

synchronized与Lock的区别

# <center>王梦龙的读书笔记第一篇</center> ## <center>-synchronized与Lock的区别</centre> ###一、从使用场景来说 + synchronized 是能够注释代码块、类、方法但是它的加锁是和解锁使用一......

我不想加班 ⋅ 今天 ⋅ 0

VConsole的使用

手机端控制台打印输出,方便bug的排查。 首先需要引入vconsole.min.js 文件,然后在文件中创造实例。就能直接使用了。 var vConsole = new VConsole(); vConsole的文件地址...

大美琴 ⋅ 今天 ⋅ 0

Java NIO之字符集

1 字符集和编解码的概念 首先,解释一下什么是字符集。顾名思义,就是字符的集合。它的初衷是把现实世界的符号映射为计算机可以理解的字节。比如我创造一个字符集,叫做sex字符集,就包含两个...

士别三日 ⋅ 今天 ⋅ 0

Spring Bean基础

1、Bean之间引用 <!--如果Bean配置在同一个XML文件中,使用local引用--><ref bean="someBean"/><!--如果Bean配置在不同的XML文件中,使用ref引用--><ref local="someBean"/> 其实两种......

霍淇滨 ⋅ 今天 ⋅ 0

05、基于Consul+Upsync+Nginx实现动态负载均衡

1、Consul环境搭建 下载consul_0.7.5_linux_amd64.zip到/usr/local/src目录 cd /usr/local/srcwget https://releases.hashicorp.com/consul/0.7.5/consul_0.7.5_linux_amd64.zip 解压consu......

北岩 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部