| | |
| | | } |
| | | |
| | | export function clearAreaPolygon() { |
| | | if (Array.isArray(areaPrimitives)) { |
| | | areaPrimitives.forEach(item => { |
| | | viewer.scene.primitives.remove(item) |
| | | }) |
| | | areaPrimitives = [] |
| | | } |
| | | if (Array.isArray(areaDataSource)) { |
| | | areaDataSource.forEach(dataSource => { |
| | | dataSource.show = false |
| | | }) |
| | | } |
| | | // 1. 清除通过 viewer.entities 添加的实体 |
| | | if (Array.isArray(areaDataSource)) { |
| | | areaDataSource.forEach(dataSource => { |
| | | // 移除数据源中的所有实体 |
| | | dataSource.entities.values.forEach(entity => { |
| | | viewer.entities.remove(entity); |
| | | }); |
| | | // 移除数据源本身 |
| | | viewer.dataSources.remove(dataSource); |
| | | }); |
| | | areaDataSource = []; |
| | | } |
| | | |
| | | // 2. 清除通过 viewer.scene.primitives 添加的图元 |
| | | if (Array.isArray(areaPrimitives)) { |
| | | areaPrimitives.forEach(primitive => { |
| | | viewer.scene.primitives.remove(primitive); |
| | | }); |
| | | areaPrimitives = []; |
| | | } |
| | | |
| | | // 3. 强制场景重绘 |
| | | viewer.scene.requestRender(); |
| | | } |
| | | |
| | | export function initAreaLine() { |