添加新要素到圖層
_addGeo(){cosnt self = thislet url = https://......./featurelayer/某某某圖層/3let geo = 你新繪制的圖形let attributes = 你新繪制圖形的屬性信息let addingGraphics = Graphic({geometry:geo,attributes:attributes})const pro = self._addToLayer(url , JSON.stringify(addingGraphics).replaceAll("\\", ""))Promise.all([pro]).then((result) => {const response = JSON.parse(result)if (response.addResults != undefined && response.addResults.length > 0) { self.$message.success("保存成功");} else {self.$message.error("保存失敗,請檢查服務。");}self.mapClear();})
},_addToLayer(url, param) {var formData = new FormData();formData.append("f", "pjson");formData.append("adds", param);return new Promise((resolve, reject) => {const A= "A"const B= "B"$.ajax({url: `${url}/applyEdits`,type: "post",async: true,data: formData,processData: false,contentType: false,headers: { //頭部信息添加到這里A: A,B: B,},success: function (response) {resolve(response)},error: function (e) {reject(null)},});})},
deletegeo(){cosnt self = thislet url = https://......./featurelayer/某某某圖層/3let feat= 你要刪除的要素
let objs = [feat.attributes.objectid] //objs是數組,可以刪除多個。objectid是服務的標識字段值let pro1 = self._delFromLayer(url, objs)
Promise.all([pro1]).then((result) => {const response1 = JSON.parse(result[0])if (response1.deleteResults != undefined && response1.deleteResults.length > 0 ) {self.$message.success("刪除成功。");} else {self.$message.error("刪除失敗,請檢查服務。");}})},_delFromLayer(url, param) {const self = thisvar formData = new FormData();formData.append("f", "pjson");formData.append("deletes", param);return new Promise((resolve, reject) => {const A= "A"const B= "B"$.ajax({url: `${url}/applyEdits`,type: "post",async: true,data: formData,processData: false,contentType: false,headers: {A: A,B: B},success: function (response) {resolve(response)},error: function (e) {reject(null)},});})},