ArcGIS API for JavaScript 4.9 & 3.26 发布与新特性

时间:2022-11-29 22:52:44
ArcGIS API for JavaScript 4.9 & 3.26 发布与新特性

应该是中文首发?我只想说:更新太TMD快了 QAQ

Part I -- JsAPI 4.9

主题1:在2D中默认启用WebGL渲染

在要素图层、CSV图层、流图层中是使用WebGL渲染的,这个任务由MapView(地图视图)完成。

这个没什么好说的,属于API版本越高,速度越快那种升级。

主题2:更酷炫的操作方法——手柄与3D鼠标的导航功能

官方给了一个图:

ArcGIS API for JavaScript 4.9 & 3.26 发布与新特性

我想问谁会用手柄看地图啊 ... 总之就是启用了手柄的支持,等同于鼠标的拖拽、放大缩小。

★主题3:小部件——要素属性表(FeatureForm, beta版)

这是个重要的更新!

这个小部件有这些功能:①显示要素图层中的要素的属性字段;②编辑字段值(如果字段允许编辑)。

这个小部件应与FeatureLayer.applyEdits结合使用,因为这属于服务器端数据的更新,而不是简单的前端Graphics更改。

看下图:

ArcGIS API for JavaScript 4.9 & 3.26 发布与新特性

图中,高亮的符号是一个点要素,红框圈到的两个交互DOM是“选择事故类型”——应该是对应某个“事故类型”的字段?而下拉列表里的选项就是字段值。Describe the problem应该是把对该点的事故具体情况写入某个文本类型的字段。Update incident info则应用了FeatureLayer.applyEdit。

【注】目前,该小部件仍处于测试版。它尚未与3.x AttributeInspector小部件中提供的功能完全相同。其他功能在后续版本中安排。

点我查看官方例子

主题4:FeatureLayer类(模块)升级

提供FeatureLayer对要素和记录的查询的支持,并对FeatureLayer中的要素附件提供增删改的支持。

现在applyEdits()与Graphics一起使用,这就是FeatureLayer的客户端功能。FeatureLayer的source属性应在客户端功能图层创建时使用。当在浏览器端进行更新要素后(applyEdits),使用queryFeatures()获取更新后的Graphics. 并且,在10.6.1的Server上提供对统计查询时的having子句支持(ArcADE?)

以上是机器翻译,没怎么用过applyEdits(),应该是允许在前端创建要素了吧?

主题5:使用场景视图进行空间查询时提供高亮支持

使用场景视图时,用Search小部件进行搜索,搜索到的结果会高亮显示。

如果SceneLayerView本身支持突出显示,那就用它本身的高亮功能进行高亮,如果不支持,那就用Graphics的方式进行高亮显示。

主题6:场景视图提供截图功能

使用SceneView.takeScreenshot()方法可以把当前场景视图截图保存,可以指定不同的选项,如图像格式,质量,宽高比或图像大小,甚至可以加字。

ArcGIS API for JavaScript 4.9 & 3.26 发布与新特性

主题7:制图功能升级

4.9添加了四个新的渲染器创建器方法。它们可以生成基于Arcade的渲染器。

  • Predominance:众数渲染。允许指定某个视图下的图层中某个数字字段中,渲染最有代表性的一部分要素。
  • Relationship:关系渲染。允许指定某个视图下的图层中的两个数字字段,根据二者之间复杂的数学关系(可能是函数关系也可能是相关性)进行符号渲染。ArcGIS API for JavaScript 4.9 & 3.26 发布与新特性

    Relationship渲染器如上图。电耗和能耗是两个不同的属性,那么二者的高低就组成了:低能耗低电耗、高能耗低电耗、低能耗高电耗、高能耗高电耗这种相关性组合,用不同的颜色给予渲染。

  • Age with color 和 Age with size:年龄渲染器。(不知道干啥用,还是看帮助文档吧)

主题8:StreamLayer类(模块)升级

流图层在2D时支持浏览器端查询了。添加了一个新方法queryLatestObservations()。

主题9:CORS更新

跨域共享的更新,请到CORS代理详解页面查看。

★主题10:小部件更新

-BasemapGallery(底图选择部件):如果底图不合适2D,则不能被使用(3D一直有这个功能)。

-Sketch(草图):现在可以使用SketchViewModel在现有折线和多边形图形上添加,移除和更新顶点。在触碰上不能用,但是在下个版本4.10就能用了。在更新现有折线和多边形时可以撤销和重做了!

-Feature(要素):更新了一个代码例子,与PopupTemplate有关。

-Search(空间搜索):将搜索的源进一步分成FeatureLayerSearchSource(即矢量源)和LocatorSearchSource,都是SearchSource的子类。

【4.9 大改变】

  • FeatureLayer.queryFeatureAttachments()方法被queryAttachments()取代。
  • 函数不能再用于渲染器和视觉变量来代替字段。请改用valueExpression属性。
  • 删除了esriConfig的请求属性:corsDetection,corsDetectionTimeout,corsEnabledServers,forceProxy和useCors属性。
  • 从ClassBreaksRenderer中删除了isMaxInclusive属性。
  • 从Search小部件和SearchViewModel中删除了popupOpenOnSelect属性。
  • SceneView.goTo()方法在搜索目标时,如果目标没有z值,则会搜索高程值。

最后,4.9使用ArcADE 1.4,基于Dojo 1.14(4.8是1.13)。

Part II -- JsAPI 3.26

没有新特性。

修补了若干BUG,尤其是打印(导出)方面的功能。  

从3.26开始,jsAPI一直使用的是Dojo 1.13版本。