將編輯應用於圖層中的要素。可以創建新函數,也可以更新或刪除現有函數。特征幾何形狀和/或屬性可以被修改。僅適用於 feature service 中的圖層以及通過圖層源設置的客戶端函數。
如果使用 applyEdits() 在運行時添加、刪除或更新客戶端函數,則使用 queryFeatures() 返回更新的函數。
在沒有vertical coordinate system 信息的服務上調用applyEdits 方法時,
edits
對象中幾何的z-values 將自動轉換為匹配圖層的空間參考。示例:服務有一個使用feet
單位的水平空間參考,並且基於meter
單位使用z-values 調用applyEdits()
,然後該方法將自動將z 值從meter
轉換為feet
單位.從版本 4.17 開始,使用 applyEdits 將帶有 z-values 的幾何圖形添加到帶有
hasZ: false
的 SubtypeGroupLayer 不再靜默刪除 z-value 並且現在會引發錯誤。參數:
規格:類型 說明 edits Object包含要添加、更新或刪除的函數和附件的對象。
規格:addFeatures可選的 要添加的特征數組或collection。添加新函數時必須提供不可為空字段的值。日期字段必須具有表示通用時間的 numeric 值。
updateFeatures可選的 要更新的函數的數組或collection。每個函數都必須具有有效的 objectId。更新函數時必須提供不可為空字段的值。日期字段必須具有代表通用時間的 numeric 值。
可選的 要素的數組或collection,或者每個要刪除的要素的帶有
objectId
或globalId
的對象數組。當傳遞一個數組或一組要素時,每個要素必須有一個有效的 objectId。使用對象數組時,每個對象必須為objectId
或globalId
屬性設置有效值。addAttachments可選的 要添加的附件數組。僅當
options.globalIdUsed
參數設置為true
時適用。用戶必須提供全局 ID 才能添加所有附件。updateAttachments可選的 要更新的附件數組。僅當
options.globalIdUsed
參數設置為true
時適用。用戶必須提供全局 ID 才能更新所有附件。可選的 用於刪除附件的全局 ID 數組。僅當
options.globalIdUsed
參數設置為true
時適用。options Object可選的 編輯要素或附件時要指定的其他編輯選項。
規格:gdbVersion可選的 應用編輯的地理數據庫版本。僅當圖層的 capabilities.data.isVersioned 屬性為
true
時,此參數才適用。如果未指定 gdbVersion 參數,則會對已發布Map的版本進行編輯。rollbackOnFailureEnabled可選的 指示是否僅當所有提交的編輯都成功時才應應用編輯。如果是
false
,即使某些提交的編輯失敗,服務器也會應用成功的編輯。如果是true
,則僅當所有編輯成功時服務器才會應用編輯。如果使用此參數,圖層的capabilities.editing.supportsRollbackOnFailure屬性必須為true
。如果某個層的supportsRollbackOnFailure
是false
,則rollbackOnFailureEnabled
將始終為 true,無論參數如何設置。globalIdUsed可選的 指示是否可以使用要素或附件的 globalIds 應用編輯。僅當圖層的 capabilities.editing.supportsGlobalId 屬性為
true
時,此參數才適用。當false
時,隨函數一起提交的 globalId 將被忽略,並且服務會為新函數分配新的 globalId。當true
時,globalIds 必須與新函數一起提交。更新現有函數時,如果globalIdUsed
為false
,則必須提供待更新函數的 objectId。如果globalIdUsed
為true
,則必須提供要更新的函數的 globalId。刪除現有函數時,請將此屬性設置為false
,因為刪除操作在當前版本的 API 中僅接受objectIds
。添加、更新或刪除附件時,必須將
globalIdUsed
參數設置為true
,並設置附件globalId。對於新附件,用戶必須提供 globalIds。為了更新或刪除附件,客戶端必須包含其 globalId。當
globalIdUsed
為false
時,編輯有效負載中不支持附件。返回:
類型 說明 Promise<Object> 解析為包含編輯結果的對象。有關詳細信息,請參閱下麵的對象規格表。 屬性 類型 說明 addFeatureResults 特征編輯結果[] 添加特征的結果。 deleteFeatureResults 特征編輯結果[] 刪除特征的結果。 updateFeatureResults 特征編輯結果[] 更新函數的結果。 addedAttachments 特征編輯結果[] 添加附件的結果。 deletedAttachments 特征編輯結果[] 刪除附件的結果。 updatedAttachments 特征編輯結果[] 更新附件的結果。 例子:
function addFeature(geometry) { const attributes = {}; attributes["Description"] = "This is the description"; attributes["Address"] = "380 New York St"; // Date.now() returns number of milliseconds elapsed // since 1 January 1970 00:00:00 UTC. attributes["Report_Date"] = Date.now(); const addFeature = new Graphic({ geometry: geometry, attributes: attributes }); const deleteFeatures = [ { objectId: 467 }, { objectId: 500 } ]; // or specify globalIds of features to be deleted // const deleteFeature = [ // { globalId: "18633204-1801-4d35-a73a-174563608ad9" } // ]; const promise = featureLayer.applyEdits({ addFeatures: [addFeature], deleteFeatures: deleteFeatures }); }
function addAttachment(selectedFeature) { const blob = new Blob(byteArrays, { type: "image/png" }); addAttachments.push({ feature: selectedFeature, attachment: { globalId: "8c4d6085-a33c-42a0-8e11-21e9528bca0d", name: "brokenLight", data: blob } }); const edits = { addAttachments: addAttachments }; const options = { // globalIdUsed has to be true when adding, updating or deleting attachments globalIdUsed: true, rollbackOnFailureEnabled: true }; featureLayer.applyEdits(edits, options).then(function(results) { console.log("edits added: ", results); }); }
基本信息
以下是所在類或對象的基本信息。
AMD:
require(["esri/layers/SubtypeGroupLayer"], (SubtypeGroupLayer) => { /* code goes here */ });
ESM:
import SubtypeGroupLayer from "@arcgis/core/layers/SubtypeGroupLayer";
類:
esri/layers/SubtypeGroupLayer
繼承: SubtypeGroupLayer > Layer > Accessor
自從:用於 JavaScript 4.20 的 ArcGIS API
用法說明
SubtypeGroupLayer.applyEdits
函數(或屬性)的定義如下:
相關用法
- JavaScript ArcGIS SubtypeGroupLayer.addAttachment用法及代碼示例
- JavaScript ArcGIS SubtypeGroupLayer.on用法及代碼示例
- JavaScript ArcGIS SubtypeGroupLayer.sublayers用法及代碼示例
- JavaScript ArcGIS SubtypeGroupLayer.timeOffset用法及代碼示例
- JavaScript ArcGIS SubtypeGroupLayer.fields用法及代碼示例
- JavaScript ArcGIS SubtypeGroupLayer.maxScale用法及代碼示例
- JavaScript ArcGIS SubtypeGroupLayer.layerId用法及代碼示例
- JavaScript ArcGIS SubtypeGroupLayer.queryFeatureCount用法及代碼示例
- JavaScript ArcGIS SubtypeGroupLayer.queryAttachments用法及代碼示例
- JavaScript ArcGIS SubtypeGroupLayer.timeExtent用法及代碼示例
- JavaScript ArcGIS SubtypeGroupLayer.objectIdField用法及代碼示例
- JavaScript ArcGIS SubtypeGroupLayer.queryExtent用法及代碼示例
- JavaScript ArcGIS SubtypeGroupLayer.fieldsIndex用法及代碼示例
- JavaScript ArcGIS SubtypeGroupLayer.getFieldDomain用法及代碼示例
- JavaScript ArcGIS SubtypeGroupLayer.visible用法及代碼示例
- JavaScript ArcGIS SubtypeGroupLayer.refreshInterval用法及代碼示例
- JavaScript ArcGIS SubtypeGroupLayer.createQuery用法及代碼示例
- JavaScript ArcGIS SubtypeGroupLayer.fullExtent用法及代碼示例
- JavaScript ArcGIS SubtypeGroupLayer.when用法及代碼示例
- JavaScript ArcGIS SubtypeGroupLayer.effect用法及代碼示例
- JavaScript ArcGIS SubtypeGroupLayer.formTemplate用法及代碼示例
- JavaScript ArcGIS SubtypeGroupLayer.definitionExpression用法及代碼示例
- JavaScript ArcGIS SubtypeGroupLayer.version用法及代碼示例
- JavaScript ArcGIS SubtypeGroupLayer.opacity用法及代碼示例
- JavaScript ArcGIS SubtypeGroupLayer.capabilities用法及代碼示例
注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 SubtypeGroupLayer.applyEdits。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。