From ddf60f1de7a1632e5673806838aa1ef74fd3886b Mon Sep 17 00:00:00 2001 From: guonan <guonan201020@163.com> Date: 星期二, 06 五月 2025 14:20:33 +0800 Subject: [PATCH] 修改选中区域flyTo以及标红;避险场所面片未清除;存储方案模拟区域 --- src/utils/area.js | 34 +++++++++++++++++++++++----------- 1 files changed, 23 insertions(+), 11 deletions(-) diff --git a/src/utils/area.js b/src/utils/area.js index 891aa95..eb44444 100644 --- a/src/utils/area.js +++ b/src/utils/area.js @@ -140,17 +140,29 @@ } 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() { -- Gitblit v1.9.3