天天看點

ArcGIS JsAPI 4.15 釋出日志

釋出時間 中原標準時間 2020年4月10日

目錄

  • 1. FeatureLayer的3d編輯功能
  • 2. FeatureTable小部件(測試版本)
  • 3. 檢視和編輯附件
    • 3.1. 檢視附件
    • 3.2. 編輯附件
  • 4. BuildingSceneLayer篩選模式
  • 5. 在IntegratedMesh圖層之上疊加顯示要素
  • 6. 網格(Mesh)材質
  • 7. 點聚類功能的更新
  • 8. API更新
    • 8.1. esriConfig現在是全局變量
    • 8.2. 傳回原生Promise
    • 8.3. Dojo聲明子產品
  • 9. 小部件更新更新
    • 9.1. HTML清理程式更新
    • 9.2. DatePicker和TimePicker小部件
    • 9.3. Print小部件更新
    • 9.4. Editor小部件更新
      • 9.4.1. 支援編輯附件
      • 9.4.2. 工作流更新
    • 9.5. Popup更新
      • 9.5.1 Popup的附件
      • 9.5.2. 顯示隐藏可見的元素
      • 9.5.3. 設定actions的數量
      • 9.5.4. 更新了圖表軸的值和文本位置
  • 10. MapImageLayer增強
  • 11. 影像圖層更新
  • 12. StreamLayer更新
  • 13. PictureMarkerSymbol更新
  • 14. 統計查詢更新
  • 15. 登入界面更新
  • 16. 突破性改進
  • 17. 修複了BUG增強了功能
  • 18. 添加了類、屬性、方法、事件
  • 19. 廢棄的類、屬性、方法、事件
  • 20. 包更新

ArcGIS API for JavaScript 4.15 釋出日志

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

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

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

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

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

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

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

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

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

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

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

這個是示例代碼:點我

API現在将場景中的IntegratedMeshLayer視為地形。這意味着,你現在可以使用

on-the-ground

模式将多邊形直接貼地(把矢量圖形直接繪制在Mesh表面)。點或者線符号如果設定了

relative-to-ground

作為它們的高程模式,它們就會以IntegratedMeshLayer為基礎高程,相對拔高。

詳情見示例代碼:點我

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

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

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

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

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

從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>
           

ESRI正試圖漸漸脫離Dojo的子產品聲明機制。在下一版本中,将完全删除

declare

子產品。這意味着,在4.15中如果繼承了API的類(子產品),你的派生類可以繼續用,但是在4.16中就不能用了。

現在已經在控制台啟用了警告資訊。

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

在版本4.14中,HTML清理器已添加到所有小部件中,以根據ArcGIS Online支援的HTML規範清理和轉義字元串。對于4.15,我們放寬了顯示HTML時的一些清理規則,使其比ArcGIS Online支援的HTML規範限制更少。我們還修複了與整理後的HTML内容不顯示在

PopupTemplate.content

中有關的錯誤(請參見下文)。

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

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

有關更多資訊,請參見

fileName

title

屬性。開發人員還可以定義在UI中對使用者可用的格式和列印布局。這些屬性也可以通過

PrintViewModel

設定。

Editor

現在内置了編輯附件的功能。如果管理的要素圖層支援附件,那麼增删改功能将會被提供。無需進行其他任何配置即可允許編輯附件,

Editor

小部件将遵循在關聯的服務上設定的任何通路權限。

有兩個新的Workflow類:

CreateWorkflow

UpdateWorkflow

。這兩個類分别用于添加新功能或編輯現有功能。功能保持不變,隻是現在被分為各自的類。除了這兩個類之外,還有一些新類可以處理工作流資料:

CreateWorkflowData

UpdateWorkflowData

。此外,現在在

Edits

類中引用了Workflow編輯。

現在,

Popup

使用

Attachments

小部件處理附件。與以前的版本相似,有一個

AttachmentsContent

類,可以将其配置為顯示與某個要素關聯的任何附件。差別在于

Attachments

小部件存儲了過去可以通過

AttachmentsContent

通路的

AttachmentInfo

可以打開/關閉

Popup

上的可見元素。通過其

visibleElements

屬性進行控制,該屬性同時包含

closeButton

featureNavigation

屬性。應該使用

featureNavigation

屬性而不是已棄用的

featureNavigationEnabled

屬性。

可以通過其

maxInlineActions

屬性設定在

Popup

中顯示的最大actions數量。

如果在

Popup

中使用圖表的

media element

時沒有負值,則y軸現在從零開始。此外,圖表的

media element

的标題和圖表标題現在顯示在圖表上方。

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

我們通過Sublayer.load()來加載子圖層的中繼資料,用MapImageLayer.loadAll()來加載全部子圖層。當加載完所有的子突出後你可以通路如下屬性和方法:

  • fields & fieldsIndex
  • fullExtent
  • objectIdField & typeIdField
  • sourceJSON
  • getFeatureType() & getFieldDomain()

renderer和labelingInfo也一樣。

開發人員現在可以使用

TileImageryLayer

在2D地圖中利用用戶端處理和渲染瓦片影像服務的優勢。

開發人員現在可以在

SceneView

中利用用戶端查詢(client-query)和過濾(filtering)StreamLayer。2D的StreamLayerView也支援用戶端效果。

現在在MapView支援

gif

png

圖檔了。

percentile-continuous

percentile-discrete

添加到

statisticType

中了。百分位統計量表示該值高于或低于該值時,一組資料中給定值的百分比下降。

通路安全驗證的服務和使用者驗證時,登入界面更新了,不再使用Dojo的Dijit對話框來實作。

  • 使用ES6原生Promise
  • dgrid樣式不再包含在全局。如果在Web應用程式中使用dgrid,則需要單獨引用樣式表。
  • 删除了

    ImageMeshColor

    ,從4.11版開始不推薦使用。改為在

    MeshMaterial.colorTexture

    上設定

    MeshTexture

  • requireUtils

    ,該版本自4.10版本起不推薦使用。請改用

    promiseUtils.create()

  • ValueMeshColor

    ,從4.11版開始不推薦使用。請改用

    MeshMaterial.color

  • StreamLayer

    中删除了

    capabilities

    version

  • Sketch

    小部件和

    SketchViewModel

    上的更新事件不再具有取消狀态。在

    update

    事件中

    abort

    的參數訓示該程序已取消。
  • attachmentInfos

    屬性已從

    AttachmentsContent

    中删除。現在可以通過

    Attachments

    小部件來處理它,并且可以通過其

    viewModel

    對其進行通路。
  • Workflow.data

    屬性将傳回

    CreateWorkflow

    UpdateWorkflow

    引用。
  • Editor

    EditorViewModel

    activeWorkflow

    屬性将傳回對

    CreateWorkflow

    UpdateWorkflow

    的引用。
  • 現在在

    Edits

    類中引用了

    Workflow

    編輯。

從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

繼續閱讀