ArcGIS API for JavaScript 4.4学习笔记[新] AJS4.4和AJS3.21新特性

ESRI官网悄无声息突然更新4.4和3.21,公众号也没有什么消息。照例,给大家看看这次更新有什么新特性吧。

1. AJS 4.4

官方更新日志:点我,比较详细。我在这里抽一些主干作为说明。

1.1 支持更强大的WebMap

为了支持更强大的WebMap,官方开发了三个新的图层:WMSLayer、WMTSLayer、MapNotesLayer。

这就意味着,WebMap已经能用4.XAPI进行读取了,ArcGIS Online和Portal上的数据可以被大量使用。

还没支持的功能:WFS、KML、Bing,估计后续版本就能提供支持了。

1.2 高亮显示功能

  • highlightOptions属性可用于SceneView
  • highlight()方法可用于以下新出的LayerView子类:FeatureLayerView、CSVLayerView、SceneLayerView、GraphicsLayerView

高亮点要素(地铁站)的例子:点我,效果如下:

高亮场景图层中某个要素的例子:点我,效果如下:

1.3 在弹窗模板中支持了Arcade表达式

(Arcade是2017年6月新出的东西:https://developers.arcgis.com/arcade/)

具体是什么我还得研究研究Arcade,以后再补充,可以知道的是弹窗模板对数据的展示更丰富了。

layer.popupTemplate = {
  expressionInfos: [{
    name: "participation-rate",
    title: "% of population 16+ participating in the labor force",
    expression: "Round(($feature.CIVLBFR_CY / $feature.POP_16UP)*100,2)"
  }],
  content: "In {NAME} county, {expression/participation-rate}% of the population"
    + " participates in the labor force."
};

如上,得到的弹窗结果是:

主要是给PopupTemplate类添加了expressionInfos这个属性。

1.4 增强了点云图层、场景图层、流图层、地图图层

以地图图层(MapImageLayer)为例,4.3和4.4的显示效果是不同的

在锐度、清晰度上有了改进(应该是WebGL改进了)。

点云图层增强了高程等功能。

矢量瓦片图层(VectorTileLayer)支持打印。

1.5 增加了一系列新的图层类型

添加了WMSLayer、WMTSLayer、WMTSSublayer、WMSSublayer、MapNotesLayer几个图层类型。

1.6 自定义图层

可自定义:TileLayer、DynamicLayer、LercLayer、BlendLayer、ElevationLayer。

自定义图层需要对核心类Accessor类进行创建子类,比较复杂,详见TileLayer的例子:点我

连接跳转到介绍如何自定义图层的篇幅。

1.7 拖拽地图图层更为顺滑

给MapView进行了增强,主要是平移时出现了缓入缓出,不像4.3那么死板。见下图:

 

如果图片不动请点击连接:点我

1.8 给出了绘制几何图形的例子

这个例子比较有趣,在长达两年的更新中终于出现了3.x中才有的几何图形绘制的雏形,虽然不及3.x的Draw功能强大。

注意:这个是绘制,并不能向服务器发起存储请求,存储请求还是在4.3中出现的applyEdit中完成的。

期待ESRI早一些发布支持向服务器存储绘制要素请求的功能吧。

绘制很简单,点击左边的绘制按钮,开始画线,双击结束后利用这个多边形就可以计算面积什么的。

1.9 增加了要素模板(FeatureTemplate)类

详见API帮助。

1.10 小部件升级

  • Popup、Search、Legend小部件加入了Widget框架中。
  • LayerList小部件进行了升级改造。

LayerList有些属性和方法在4.4是改动了的,如果有早期代码,则需要更新,详见4.3和4.4的LayerList类。

1.11 在符号显示和符号渲染方便进行了增强

  • 支持使用新类——type,进行分类着色,如下图:

  • 增强3D点状符号,如下图:

  • 3D符号支持旋转了,以便更好的展示地图。
  • 3D符号可以使用材质了。见下:

仍有许多细节的特性还没来得及推敲,就先以这些为主吧,各位读者可以自行查阅发布记录。

最后,4.5版本将在秋季发布,确定的是4.6也在2017年发布。

2. AJS 3.21

这个版本更新的东西不多,毕竟已经比较成熟了。更新日志:点我

2.1 支持Arcade

在PopupTemplate中支持Arcade表达式,添加expressionInfos属性,与4.4类似。

————

其余零碎的东西就不提了,修修补补。

3. 结语

这次4.x的更新幅度还算比较大,尤其是那个Arcade和几何绘制,这是本人比较感兴趣的两个点。

至于3.21,成熟的产品,无需多提,好像是今年开发完成?嗯,新特性就写到这里,谢谢。

时间: 2024-08-27 20:39:27

ArcGIS API for JavaScript 4.4学习笔记[新] AJS4.4和AJS3.21新特性的相关文章

ArcGIS API for JavaScript 4.2学习笔记[0] AJS4.2概述、新特性、未来产品线计划与AJS笔记目录

放着好好的成熟的AJS 3.19不学,为什么要去碰乳臭未干的AJS 4.2? 诸君,我喜欢嫩的--呸呸呸 诸君,我喜欢3D咋了?新事物会替代旧事物不是~ ArcGIS API for JavaScript 4.2概述 AJS 4.2,即ArcGIS API for JavaScript 4.2,是美国ESRI公司针对WebGIS市场推出的.利用JavaScript和Dojo开发的一款产品,它在2016年12月发布.而AJS 4.0 beta则在一年前就发布了. 关于AJS3和AJS4选择的问题,

ArcGIS API for JavaScript 4.2学习笔记[1] 显示地图

ArcGIS API for JavaScript 4.2直接从官网的Sample中学习,API Reference也是从官网翻译理解过来,鉴于网上截稿前还没有人发布过4.2的学习笔记,我就试试吧. 什么是ArcGIS API for JS?这里就不多介绍了,最关键的一点是4.x版本与3.x版本的变化,按官方的意思是重新写了底层. 笔记中规定: ArcGIS API for JavaScript简称AJS 使用CDN(即不配置本地环境)进行测试开发 其余根据需要进行修改.增删. 要将地图显示在h

ArcGIS API for JavaScript 4.2学习笔记[5] 官方API大章节概述与内容转译

内容如上,截图自ESRI官网,连接:ArcGIS API for JavaScript 4.2 [Get Started] 类似于绪论一样的东西,抽取了最需要关注的几个例子.如:加载Map和View,加载layers,使用弹出窗口,视觉化,与使用窗口小部件.(wtf居然没有分析你想搞事情啊web除了展示难道不应该有()&&*--@) [Mapping and Views] (点击进入我写的章节详细介绍) 最基础的,知道地图和视图的区别,能使用2D和3D地图,对地图的布局有一定的了解,对地图

ArcGIS API for JavaScript 4.2学习笔记[16] 弹窗自定义功能按钮及为要素自定义按钮(第五章完结)

这节对Popups这一章的最后两个例子进行介绍和解析. 第一个[Popup Actions]介绍了弹窗中如何自定义工具按钮(名为actions),以PopupTemplate+FeatureLayer的形式测量要素的长度为例子进行介绍. 第二个[Custom popup actions per feature]则是上一个的升级,如果说上一个例子的功能是写死的,那么这个例子就把这个功能写活了.什么意思呢?上个例子的测距仅仅能测距,没有什么别的特别的.而这个例子以啤酒店的分布(点要素图层)为例,在自

ArcGIS API for JavaScript 4.2学习笔记[7] 鹰眼(缩略图的实现及异步处理、Promise、回调函数、监听的笔记)

文前说明:关于style就是页面的css暂时不做评论,因为官方给的例子的样式实在太简单了,照抄阅读即可. 这篇文章有着大量AJS 4.x版本添加的内容,如监听watch.Promise对象.回调函数.异步处理等内容,原理性的东西我会在文末解释,各位看官不用担心看不懂,我尽量用通俗的语言解释这些. 惯例,如果不习惯从头看到尾,可以直接跳到后面看总结. 大家应该看过商业地图的缩略图功能吧?以度娘地图为例,在使用街景地图的时候,左下角会出现一个地点一样的2D小地图: 这个就是鹰眼功能的应用,在很多桌面

ArcGIS API for JavaScript 4.2学习笔记[24] 【IdentifyTask类】的使用(结合IdentifyParameters类)(第七章完结)

好吧,我都要吐了. 接连三个例子都是类似的套路,使用某个查询参数类的实例,结合对应的Task类,对返回值进行取值.显示. 这个例子是Identify识别,使用了TileLayer这种图层,数据来自Server的MapServer. 结果演示 戳不同的地方会有不同的识别结果. 我对TileLayer不是很了解,这一例仅针对有了解的同学,做一个IdentifyTask的解释. IdentifyTask/IdentifyParameter/IdentifyResult三个类 既然是一样的套路,那么先对

ArcGIS API for JavaScript 4.2学习笔记[9] 同一种视图不同数据(Map)同步

本例子核心:对MapView对象的map属性值进行替换即可达到更改地图数据的效果. 这个例子用的不是Map对象了,而是用的发布在服务器上的专题地图(WebMap)来加载到MapView上进行显示. 在html标签中,使用了section标签,不过没什么稀奇的,就把仨按钮放一块而已. 先给出预览图 三张专题地图:失踪人口密度分布.难民迁徙路线.2015年欧洲来港者. 这个东西很有用,尤其是在展示同一地区的专题地图的时候,这里也展示了什么叫View,什么叫Map. 因为中心点.比例尺是由View对象

ArcGIS API for JavaScript 4.2学习笔记[23] 没有地图如何进行查询?【FindTask类的使用】

从第一篇到现在都是基于地图的,不管怎么样,不管是2D还是3D,至少有个图. 这次来个没有图的例子,看看纯文字的空间查询是什么样的. 本例适用于后台查询或低性能电脑的查询. 预览图 由于4.3和4.2的这个例子没有任何实质性的改动,我直接从官方运行的4.3的例子: 默认打开的时候,按下Find按钮,右边就会出现转圈圈的图,其实是个GIF图片. 结果如上,将Spokane这个County的信息列举出来了,列出的字段有County Name.State.Population(2012).%Popula

ArcGIS API for JavaScript 4.2学习笔记[30] 点和线高程查询(第八章完结)

终于到最后一篇了,可喜可贺. 本例先说明了如何进行单点的高程差分析,然后说明了道路的起伏分析.前者很直观地比较了两个年份的高程数据之间的差值,体现山区的高程变化(有啥用啊?)后者,一条路上的起点终点起伏多少,可以给驾驶导航提供更多样化的数据. 本例使用了高程图层和RouteTask. 本例对应的官方例子是:Query Elevation (Points)和Query Elevation (Lines) 1. 点高程差查询 1.1 结果显示 选了一个明显的点,绿色的是地形变化前的高程点,红色的球是

ArcGIS API for JavaScript 4.2学习笔记[13] Layer的弹窗(PopupTemplate)

上一篇文章中讲到Popup是一个弹窗,是View对象的默认内置弹窗,并且在View对象构造时就顺便构造了. 那么这个PopupTemplate是什么呢? 后半截单词Template是"模板"的意思,我最初理解就是可以定制的弹窗.仔细阅读API ref后给出更为准确的定义: PopupTemplate是一个针对Layer和Graphic的弹窗,它与Popup最大的不同的是作用对象不同(Popup主要是针对View).它服务的对象是Layer中的要素类或者Graphic,它能从要素中获取字