应该是中文首发?我只想说:更新太TMD快了 QAQ
Part I -- JsAPI 4.9
主题1:在2D中默认启用WebGL渲染
在要素图层、CSV图层、流图层中是使用WebGL渲染的,这个任务由MapView(地图视图)完成。
这个没什么好说的,属于API版本越高,速度越快那种升级。
主题2:更酷炫的操作方法——手柄与3D鼠标的导航功能
官方给了一个图:
我想问谁会用手柄看地图啊 ... 总之就是启用了手柄的支持,等同于鼠标的拖拽、放大缩小。
★主题3:小部件——要素属性表(FeatureForm, beta版)
这是个重要的更新!
这个小部件有这些功能:①显示要素图层中的要素的属性字段;②编辑字段值(如果字段允许编辑)。
这个小部件应与FeatureLayer.applyEdits结合使用,因为这属于服务器端数据的更新,而不是简单的前端Graphics更改。
看下图:
图中,高亮的符号是一个点要素,红框圈到的两个交互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()方法可以把当前场景视图截图保存,可以指定不同的选项,如图像格式,质量,宽高比或图像大小,甚至可以加字。
主题7:制图功能升级
4.9添加了四个新的渲染器创建器方法。它们可以生成基于Arcade的渲染器。
- Predominance:众数渲染。允许指定某个视图下的图层中某个数字字段中,渲染最有代表性的一部分要素。
- Relationship:关系渲染。允许指定某个视图下的图层中的两个数字字段,根据二者之间复杂的数学关系(可能是函数关系也可能是相关性)进行符号渲染。
Relationship渲染器如上图。电耗和能耗是两个不同的属性,那么二者的高低就组成了:低能耗低电耗、高能耗低电耗、低能耗高电耗、高能耗高电耗这种相关性组合,用不同的颜色给予渲染。
- Age with color 和 Age with size:年龄渲染器。(不知道干啥用,还是看帮助文档吧)
主题8:StreamLayer类(模块)升级
流图层在2D时支持浏览器端查询了。添加了一个新方法queryLatestObservations()。
主题9: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版本。