應該是中文首發?我只想說:更新太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版本。