From 5dccbfc0221fee15aac6bf93479f05c34eb45fd1 Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Fri, 07 Nov 2025 10:28:37 +0800
Subject: [PATCH] feat:填充色

---
 src/views/layerManagement/index.vue |   37 +++++++++++++++++++++++++++++++------
 1 files changed, 31 insertions(+), 6 deletions(-)

diff --git a/src/views/layerManagement/index.vue b/src/views/layerManagement/index.vue
index 88e7f86..d92f0ed 100644
--- a/src/views/layerManagement/index.vue
+++ b/src/views/layerManagement/index.vue
@@ -174,8 +174,6 @@
 };
 // 点击显示区域
 const handleCoverDataUpdate = data => {
-console.log('data',data);
-
   selectDataList.value = data;
   if (selectDataList.value.length > 0) {
     loadDataToMap(selectDataList.value);
@@ -184,9 +182,11 @@
   }
 };
 const loadDataToMap = dataList => {
+console.log('dataList',dataList);
+
   if (!viewer) return;
   viewer.entities.removeAll();
-  // 存储所有有效坐标,用于后续定位
+  // 存储所有有效坐标
   tbJwdList = [];
   dataList.forEach(item => {
     let positions = parseGeoDataToPositions(item.geo_data, item.altitude);
@@ -194,11 +194,36 @@
       console.warn(`数据 ${item.name} 坐标点不足,无法绘制`);
       return;
     }
+   
     tbJwdList.push(...positions);
     let degreesArray = [];
     positions.forEach(pos => {
       degreesArray.push(pos.lng, pos.lat, pos.height);
     });
+     const colorMap = {
+    1: Cesium.Color.fromCssColorString('#00ff06').withAlpha(0.5), // 绿色(填充色)
+    2: Cesium.Color.fromCssColorString('#ff0000').withAlpha(0.5), // 红色(填充色)
+    3: Cesium.Color.fromCssColorString('#00ffea').withAlpha(0.5), // 青色(填充色)
+    // 边框色:去掉透明度,保持纯色
+    border1: Cesium.Color.fromCssColorString('#00ff06'),
+    border2: Cesium.Color.fromCssColorString('#ff0000'),
+    border3: Cesium.Color.fromCssColorString('#00ffea'),
+  };
+   const fillColor = item.category_id === 1 
+      ? colorMap[1] 
+      : item.category_id === 2 
+        ? colorMap[2] 
+        : item.category_id === 3 
+          ? colorMap[3] 
+          : Cesium.Color.YELLOW.withAlpha(0.5);
+    
+    const borderColor = item.category_id === 1 
+      ? colorMap.border1 
+      : item.category_id === 2 
+        ? colorMap.border2 
+        : item.category_id === 3 
+          ? colorMap.border3 
+          : Cesium.Color.YELLOW;
     viewer.entities.add({
       id: `polygon_${item.id}`,
       customType: 'fence_polygon',
@@ -207,9 +232,9 @@
         hierarchy: new Cesium.PolygonHierarchy(
           Cesium.Cartesian3.fromDegreesArrayHeights(degreesArray)
         ),
-        material: Cesium.Color.YELLOW.withAlpha(0.5), // 填充色
+        material:fillColor, // 填充色
         outline: true, // 显示边框
-        outlineColor: Cesium.Color.YELLOW, // 边框色
+        outlineColor: borderColor, // 边框色
         outlineWidth: 2, // 边框宽度
         clampToGround: true, // 贴地显示
       },
@@ -217,7 +242,7 @@
       polyline: {
         positions: Cesium.Cartesian3.fromDegreesArrayHeights(degreesArray),
         width: 2,
-        material: Cesium.Color.YELLOW,
+        material:borderColor,
         clampToGround: true,
       },
       zIndex: 99, // 层级,确保在其他图层上方显示

--
Gitblit v1.9.3