ArcGIS JsAPI 4.15 發布日志


發布時間 北京時間 2020年4月10日

ArcGIS API for JavaScript 4.15 發布日志

1. FeatureLayer的3d編輯功能

現在在3d模式下支持點線面要素的編輯了。使用Editor小部件來編輯FeatureLayer。

盡管Sketch工具以及支持地表要素的編輯,但是新的Z方向感知編輯工具可以修改地上或者地下的圖形。投影到地形和場景中的物體上的輔助線能幫助編輯者進行對齊捕捉。

當你使用3D點轉換工具(3D點轉換工具)交互式地旋轉或者縮放3D符號時,要素的屬性會通過視覺變量配置(VisualVariable)自動更新。現有的小部件例如FeatureForm、FeatureTemplates已經集成了3D符號。

2. FeatureTable小部件(測試版本)

FeatureTable小部件(FeatureTable)提供要素屬性的交互式編輯功能,該小部件可快速地加載較大的數據集。

用戶可選擇表中的行(也就是要素),然后根據某些屬性列進行排序,或者顯示、隱藏某些屬性列。

因為這個小部件還是測試版本,限制性的功能見最新版API文檔。

這個小部件既可以獨立運行,也可以與某個地圖圖層聯動運行。

3. 查看和編輯附件

3.1. 查看附件

4.15版本的API引入了一個新的附件小部件(Attachments),允許查看與要素有關的附件,例如圖片等。除了附件的縮略圖(如果附件是圖片)外,還能看到附件的格式、大小。現在,這個小部件取代了原有的附件顯示方式(即4.15版本之前的附件顯示都是在彈出窗中)。因此,附件查看功能被剝離出來,可以安排集成到別的邏輯中去。

3.2. 編輯附件

編輯小部件(Editor)已經更新以支持附件編輯。現在可以增刪改要素關聯的附件了。前提是,FeatureService支持編輯。

4. BuildingSceneLayer篩選模式

通過BuildingSceneLayer中的新篩選模式,可以突出顯示BIM模型中的要素,同時仍顯示建築物的其他部分。

篩選掉的其他BIM模型構件可以用X光模式渲染,也可以用線框顯示。

這個是示例代碼:點我

5. 在IntegratedMesh圖層之上疊加顯示要素

API現在將場景中的IntegratedMeshLayer視為地形。這意味着,你現在可以使用on-the-ground模式將多邊形直接貼地(把矢量圖形直接繪制在Mesh表面)。點或者線符號如果設置了relative-to-ground作為它們的高程模式,它們就會以IntegratedMeshLayer為基礎高程,相對拔高。

詳情見示例代碼:點我

6. 網格(Mesh)材質

現在使用Mesh創建的自定義三維模型可以用MeshMaterialMetallicRoughness這種材質了,支持鏡面曲率。現在可以直接在材料上或通過紋理貼圖調整金屬和粗糙度因子。

關於這種材料,可以看看這個例子:點我

7. 點聚類功能的更新

添加了對點層中包含Arcade表達式的渲染器進行聚類的支持。

8. API更新

8.1. esriConfig現在是全局變量

只需在全局條件聲明esriConfig變量即可。

<script>
  var esriConfig = {
    portalUrl: "https://myHostName.esri.com/arcgis"
  };
</script>

8.2. 返回原生Promise

從4.15開始,返回ES6原生的Promise對象。所以,老代碼需要全部改了。ESRI計划在4.16中的Dojo定義的Promise。(譯者注:釋放信號——去Dojo化)。

ES6的Promise和Dojo的Promise大致相同,區別如下:

  • 使用ES6的catch()代替otherwise()

  • 使用AbortController.abort()方法替代cancel()

  • 使用以下代碼替代always:

    .catch(function(error){
      /* 出錯時的代碼 */
    }).then(function() {
      /* 不管怎么用都要執行的代碼 */
    });
    
  • 干掉了isFulfilled()/isResolved()/isRejected()方法。

  • 對於Dojo的Promise,當promise狀態是resolved或者rejected時,then/catch方法會同步執行。在ES6的promise中,它們是異步執行。

如果不想用ES6的Promise,可以在dojoConfig中的has屬性進行配置,但是這個在4.16版本將會廢棄:

<script>
  var dojoConfig = {
    has: {
      "esri-native-promise": false
    }
  };
</script>

8.3. Dojo聲明模塊

ESRI正試圖漸漸脫離Dojo的模塊聲明機制。在下一版本中,將完全刪除declare模塊。這意味着,在4.15中如果繼承了API的類(模塊),你的派生類可以繼續用,但是在4.16中就不能用了。

現在已經在控制台啟用了警告信息。

你可以在官方的next倉庫中測試未發布版本的jsapi(傳送門)

9. 小部件更新升級

9.1. HTML清理程序更新

在版本4.14中,HTML清理器已添加到所有小部件中,以根據ArcGIS Online支持的HTML規范清理和轉義字符串。對於4.15,我們放寬了顯示HTML時的一些清理規則,使其比ArcGIS Online支持的HTML規范限制更少。我們還修復了與整理后的HTML內容不顯示在PopupTemplate.content中有關的錯誤(請參見下文)。

9.2. DatePicker和TimePicker小部件

添加了兩個新的小部件,以幫助支持選擇日期和時間。添加了DatePicker和TimePicker小部件,以在輸入日期和/或時間信息時提供輕松的UI體驗。

9.3. Print小部件更新

現在,Print小部件的界面會根據打印的地圖是自動下載還是在新窗口中打開顯示不同的圖標。

有關更多信息,請參見fileNametitle屬性。開發人員還可以定義在UI中對用戶可用的格式和打印布局。這些屬性也可以通過PrintViewModel設置。

9.4. Editor小部件更新

9.4.1. 支持編輯附件

Editor現在內置了編輯附件的功能。如果管理的要素圖層支持附件,那么增刪改功能將會被提供。無需進行其他任何配置即可允許編輯附件,Editor小部件將遵循在關聯的服務上設置的任何訪問權限。

9.4.2. 工作流更新

有兩個新的Workflow類:CreateWorkflowUpdateWorkflow。這兩個類分別用於添加新功能或編輯現有功能。功能保持不變,只是現在被分為各自的類。除了這兩個類之外,還有一些新類可以處理工作流數據:CreateWorkflowDataUpdateWorkflowData。此外,現在在Edits類中引用了Workflow編輯。

9.5. Popup更新

9.5.1 Popup的附件

現在,Popup使用Attachments小部件處理附件。與以前的版本相似,有一個AttachmentsContent類,可以將其配置為顯示與某個要素關聯的任何附件。區別在於Attachments小部件存儲了過去可以通過AttachmentsContent訪問的AttachmentInfo

9.5.2. 顯示隱藏可見的元素

可以打開/關閉Popup上的可見元素。通過其visibleElements屬性進行控制,該屬性同時包含closeButtonfeatureNavigation屬性。應該使用featureNavigation屬性而不是已棄用的featureNavigationEnabled屬性。

9.5.3. 設置actions的數量

可以通過其maxInlineActions屬性設置在Popup中顯示的最大actions數量。

9.5.4. 更新了圖表軸的值和文本位置

如果在Popup中使用圖表的media element時沒有負值,則y軸現在從零開始。此外,圖表的media element的標題和圖表標題現在顯示在圖表上方。

10. MapImageLayer增強

MapImageLayer及其Sublayer類經過重構和現代化。針對動態圖層,地圖的可視化顯著地對智能地圖制圖的改進,並修復了一些圖層可見性錯誤。彈出行為的幾個問題已修復,例如在使用編碼的域值時能夠顯示描述。

我們通過Sublayer.load()來加載子圖層的元數據,用MapImageLayer.loadAll()來加載全部子圖層。當加載完所有的子突出后你可以訪問如下屬性和方法:

renderer和labelingInfo也一樣。

11. 影像圖層更新

開發人員現在可以使用TileImageryLayer在2D地圖中利用客戶端處理和渲染瓦片影像服務的優勢。

12. StreamLayer更新

開發人員現在可以在SceneView中利用客戶端查詢(client-query)和過濾(filtering)StreamLayer。2D的StreamLayerView也支持客戶端效果。

13. PictureMarkerSymbol更新

現在在MapView支持gifpng圖片了。

14. 統計查詢更新

percentile-continuouspercentile-discrete添加到statisticType中了。百分位統計量表示該值高於或低於該值時,一組數據中給定值的百分比下降。

15. 登錄界面更新

訪問安全驗證的服務和用戶驗證時,登錄界面更新了,不再使用Dojo的Dijit對話框來實現。

16. 突破性改進

  • 使用ES6原生Promise
  • dgrid樣式不再包含在全局。如果在Web應用程序中使用dgrid,則需要單獨引用樣式表。
  • 刪除了ImageMeshColor,從4.11版開始不推薦使用。改為在MeshMaterial.colorTexture上設置MeshTexture
  • 刪除了requireUtils,該版本自4.10版本起不推薦使用。請改用promiseUtils.create()
  • 刪除了ValueMeshColor,從4.11版開始不推薦使用。請改用MeshMaterial.color
  • StreamLayer中刪除了capabilitiesversion屬性。
  • Sketch小部件和SketchViewModel上的更新事件不再具有取消狀態。在update事件中abort的參數指示該進程已取消。
  • attachmentInfos屬性已從AttachmentsContent中刪除。現在可以通過Attachments小部件來處理它,並且可以通過其viewModel對其進行訪問。
  • 現在,Workflow.data屬性將返回CreateWorkflowUpdateWorkflow引用。
  • 現在,Editor小部件和EditorViewModelactiveWorkflow屬性將返回對CreateWorkflowUpdateWorkflow的引用。
  • 現在在Edits類中引用了Workflow編輯。

17. 修復了BUG增強了功能

18. 添加了類、屬性、方法、事件

19. 廢棄的類、屬性、方法、事件

20. 包更新

從4.15開始,ArcGIS Arcade升級到1.9;Dojo使用1.14.2(4.11到現在都是這個版本);dgrid使用1.2.1(從4.5開始用到現在);dstore使用1.1.2(從4.5開始用到現在)。

從4.12版本開始,使用Dojo5的@dojo/framework的5.0.4版本。

版權沒有,翻版隨你。 https://www.cnblogs.com/onsummer/p/12675526.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM