【发布时间】:2020-02-06 14:21:10
【问题描述】:
如何在图形层中按 id 删除图形。我正在使用 esri-javascript-api。希望任何答案。
【问题讨论】:
-
你试过什么?您是否查看过此文档? developers.arcgis.com/javascript/latest/api-reference/…
标签: esri arcgis-js-api
如何在图形层中按 id 删除图形。我正在使用 esri-javascript-api。希望任何答案。
【问题讨论】:
标签: esri arcgis-js-api
假设graphicLayer 是地图图形的图层,id 属性命名为"id",您想删除id 为0 的图形;
var graphicLayer = map.graphics;
var idAttribute = "id";
var idValue = 0;
var toBeRemoved = graphicLayer.graphics.filter(function(graphic) {
return graphic.attributes[idAttribute] == idValue;
})[0];
graphicLayer.remove(toBeRemoved);
您可以创建一个函数来批量执行此操作
function removeGraphicById(graphicLayer, idAttribute, idValue) {
var toBeRemoved = graphicLayer.graphics.filter(function(graphic) {
return graphic.attributes[idAttribute] == idValue;
})[0];
graphicLayer.remove(toBeRemoved);
};
var idsToDelete = [0, 1, 2, 3, 4];
idsToDelete.forEach(function(id) {
//using map.graphics layer for instance
removeGraphicById(map.graphics, "id", id);
});
【讨论】: