openLayer移除Feature时报错

发布时间 2023-10-24 11:40:20作者: ZerlinM

问题

在功能中,点击起点按钮则在地图中标记“起点”图标,当再次点击起点按钮时需要先清空之前的“起点”图标,再重新添加。

但此时控制台报错了:

错误代码:
在添加点之前,先执行了vectorSource.clear(),导致remove时,vectorSource.getFeatures()其实是空数组[ ]。

if (breakFeature) vectorSource.removeFeature(breakFeature)

修改为如下代码:
需要判断vectorSource.getFeatures()存在长度,再执行remove。

if (breakFeature && vectorSource.getFeatures() && vectorSource.getFeatures().length) vectorSource.removeFeature(breakFeature)