ArcGIS JsAPI 4.15 發佈日誌

發佈時間 北京時間 2020年4月10日javascript

ArcGIS API for JavaScript 4.15 發佈日誌html

1. FeatureLayer的3d編輯功能

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

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

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

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

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

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

由於這個小部件仍是測試版本,限制性的功能見最新版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版本。

版權沒有,翻版隨你。 http://www.javashuo.com/article/p-ndoxywmp-km.html

相關文章
相關標籤/搜索