问题描述
在距离测量中,我使用下面的代码创建了graphicsLayer
,来存储画线和标注产生的graphic
//增加一个空的GraphicsLayer
const graphicsLayer = new GraphicsLayer({
id: 'measureXianLayer',
});
后面我想删除改graphicsLayer
时,却不知道改怎么办了,翻了Map、View、GraphicsLayer的API文档,都没有找到根据指定的id来获取graphicsLayer的方法
原因分析:
原因就是Map、View里面就没有根据ID获取graphicsLayer的函数:
解决方案:
解决办法就是map.alllayers()这个方法可以返回map中的所有layer,并且里面有id信息,只需要循环map.allLayers.items就可以根据指定的id删除graphicsLayer了。
const myMap = view.map;
console.log(myMap.allLayers);
myMap.allLayers.items.forEach((e) => {
if (e.id === 'measureXianLayer') {
myMap.removeAll(e);
}
});