删除entity
申明变量
let view, point1, point2, point3, blueList = [ ]
添加三个实体点
point1 = viewer.entities.add({
id: 'id1',
position: Cesium.Cartesian3.fromDegrees(121, 30),
point: {
color: Cesium.Color.BLUE,
pixelSize: 20
}
})
bluelist.push(point1)
point2 = viewer.entities.add({
id: 'id2',
position: Cesium.Cartesian3.fromDegrees(121.0001, 30),
point: {
color: Cesium.Color.BLUE,
pixelSize: 20
}
})
bluelist.push(point2)
point3 = viewer.entities.add({
id: 'id3',
position: Cesium.Cartesian3.fromDegrees(121.0002, 30),
point: {
color: Cesium.Color.GREEN,
pixelSize: 20
}
})
//const entity = viewer.entities.getById('point1') //通过id查实体
viewer.zoomTo(point1)
删除:
const toDel = () => {
// 删除方式1 remove
// viewer.entities.remove(point1)
// 方式二 先查再删
// const entity = viewer.entities.getById('id1')
// viewer.entities.remove(entity)
// 方式三 全删
// viewer.entities.removeAll()
// console.log(viewer.entities)
// console.log(point2) //实体变量还存在,只是不在viewer.entities.values中
// 数组当图层用删除
bluelist.forEach(item => {
viewer.entities.remove(item)
})
bluelist = []
}
Call back property
用call back property 生成动态实体
let lon, lat, num = 0
const line = viewer.entities.add({
polyline: {
positions: new Cesium.CallbackProperty(() => {
num += 0.002
lon = 120 + num
lat = 30 + num
if (lon < 121) {
return Cesium.Cartesian3.fromDegreesArray([120, 30, lon, lat])
} else {
line.polyline.positions = new Cesium.Cartesian3.fromDegreesArray([
120, 30, 121, 31,
]);
}
}, false),
material: Cesium.Color.YELLOW,
width: 5
}
})
let position = Cesium.Cartesian3.fromDegrees(120, 30, 1000000)
viewer.camera.setView({
destination: position
})