基本信息
以下是所在類或對象的基本信息。
AMD:
require(["esri/widgets/Editor"], (Editor) => { /* code goes here */ });
ESM:
import Editor from "@arcgis/core/widgets/Editor";
類:
esri/widgets/Editor
繼承: Editor > Widget > Accessor
自從:用於 JavaScript 4.11 的 ArcGIS API
用法說明
此小部件提供out-of-the-box 編輯體驗,以幫助簡化 Web 應用程序中的編輯體驗。它會自動識別Map中是否有可編輯的要素圖層。如果它識別出它們是可編輯的,則小部件可以使用這些層。此外,還可以通過設置layerInfos 屬性來配置Editor
的行為方式。此屬性采用一組配置對象,允許您配置這些層的編輯體驗。
根據所需的函數,小部件具有不同的workflows,將在下麵討論。
- CreateWorkflow(自 4.23 起已棄用)- 此工作流主要設計用於針對單個函數創建的現有自定義工作流。這個工作流程最終將被刪除,取而代之的是,
- CreateFeaturesWorkflow(4.23 中的新函數)- 此工作流程允許同時創建單獨的和連續的特征。
- UpdateWorkflow - 此工作流允許您更新和/或刪除可編輯要素圖層中的現有要素。
從 4.23 版開始,編輯器小部件經曆了一些重大更新,包括其 UI 和底層 API。這些更新隻是編輯器路線圖上的一些改進。隨著未來版本的發布,預計會看到更多更新。其中一些更新包括:
- 初始編輯器對話框已被刪除並更新為包含一個整合creates 和update 工作流的初始麵板。
- 添加了一個額外的create features workflow 以包括連續編輯。現在可以一次連續創建多個相同類型的特征。創建初始草圖後,實體形式將與指定的字段元素一起顯示。這些字段可以在用戶創建新函數時更新。現有的 create workflow 仍然可以使用,但已標記為
deprecated
以支持使用 create features workflow 。這個新的工作流程是為單個和多個特征創建而設計的。 - 捕捉會自動包含在小部件的 UI 中。不再需要通過將編輯器的 snappingOptions 傳遞給 SnappingControls 的實例來專門設置它。默認情況下,捕捉是禁用的。切換"Enable snapping"以啟用它。默認情況下,啟用幾何約束和要素到要素捕捉。幾何約束允許編輯者指定他們希望如何繪製幾何圖形。例如,如果線需要完全成直角,則捕捉指示器將按此顯示,並且可以適當地創建頂點。要素到要素的捕捉允許將新的或現有的幾何圖形捕捉到其他圖層中的幾何圖形,如
Snapping layer
列表中所示,或者與當前正在編輯的圖層中的幾何圖形進行捕捉。默認情況下,所有可配置捕捉的圖層都會自動添加到此列表中。如果需要更新,請直接設置FeatureSnappingLayerSource來更新編輯器的snappingOptions。
已知限製
編輯器小部件尚未與 3.x Editor 小部件中提供的函數完全等同。例如,目前不支持編輯相關的特征屬性。此外,不建議在可編輯圖層上設置非常低的refreshInterval,因為這可能會降低應用程序的性能。
例子:
// At the very minimum, set the Editor's view
const editor = new Editor({
view: view
});
view.ui.add(editor, "top-right");
相關用法
- JavaScript ArcGIS Editor.classes用法及代碼示例
- JavaScript ArcGIS Editor.on用法及代碼示例
- JavaScript ArcGIS Editor.snappingOptions用法及代碼示例
- JavaScript ArcGIS Editor.allowedWorkflows用法及代碼示例
- JavaScript ArcGIS Editor.container用法及代碼示例
- JavaScript ArcGIS Editor.layerInfos用法及代碼示例
- JavaScript ArcGIS Editor.headingLevel用法及代碼示例
- JavaScript ArcGIS Editor.visible用法及代碼示例
- JavaScript ArcGIS Editor.when用法及代碼示例
- JavaScript ArcGIS Expand.when用法及代碼示例
- JavaScript ArcGIS ElementExpressionInfo.expression用法及代碼示例
- JavaScript ArcGIS ExtrudeSymbol3DLayer.castShadows用法及代碼示例
- JavaScript ArcGIS ExtrudeSymbol3DLayer.clone用法及代碼示例
- JavaScript ArcGIS ExpressionContent用法及代碼示例
- JavaScript ArcGIS ExpressionInfo.title用法及代碼示例
- JavaScript ArcGIS ElevationProfile.profiles用法及代碼示例
- JavaScript ArcGIS ElevationLayer.fullExtent用法及代碼示例
- JavaScript ArcGIS ElevationLayer layerview-create-error事件用法及代碼示例
- JavaScript ArcGIS ElevationLayer.on用法及代碼示例
- JavaScript ArcGIS Expand用法及代碼示例
- JavaScript ArcGIS ElevationProfile.visibleElements用法及代碼示例
- JavaScript ArcGIS ElevationSampler.on用法及代碼示例
- JavaScript ArcGIS ElevationLayer用法及代碼示例
- JavaScript ArcGIS ElevationProfile.when用法及代碼示例
- JavaScript ArcGIS ExtrudeSymbol3DLayer.edges用法及代碼示例
注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 Editor。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。