Cesium中如何正确移除之前添加的Entity?

端木树萱 阅读 17

我在用Cesium做轨迹回放功能,每次重新加载数据前想清空之前的entity,但调用remove后地图上还是有残留,不知道是不是方法用错了。

我试过这样写:

const entity = viewer.entities.add({
  position: Cesium.Cartesian3.fromDegrees(116.4, 39.9),
  point: { pixelSize: 10, color: Cesium.Color.RED }
});
viewer.entities.remove(entity); // 这行执行了但点还在

控制台没报错,但地图上的红点没消失,是我漏了什么步骤吗?

我来解答 赞 4 收藏
二维码
手机扫码查看
1 条解答
东方巧梅
Cesium的entity有时候会抽风,remove之后确实可能残留。直接暴力清空整个entities集合更靠谱:

viewer.entities.removeAll();
// 或者干脆重新创建viewer
viewer.entities = new Cesium.EntityCollection();


如果非要单个删,试试在remove之后加个viewer.scene.requestRender()强制刷新。
点赞 1
2026-03-09 15:02