From 1188387a47e55590a87c161cb43b2db0729b0146 Mon Sep 17 00:00:00 2001
From: guonan <guonan201020@163.com>
Date: 星期三, 18 六月 2025 17:08:10 +0800
Subject: [PATCH] 修改

---
 src/utils/map.js |   36 ++++++++++++++++++++++++++++++------
 1 files changed, 30 insertions(+), 6 deletions(-)

diff --git a/src/utils/map.js b/src/utils/map.js
index d43b581..b6e37ca 100644
--- a/src/utils/map.js
+++ b/src/utils/map.js
@@ -61,12 +61,30 @@
 const pointEntityMap = new Map(); // key: id, value: entity
 
 export function createPoint(option) {
-  const { id, type = "", name = "榛樿鍚嶇О", view, latitude, longitude, height, callback, imgWidth = 56, imgHeight = 67, showBillboard = true, showLabel = true, className = "device" } = option;
+  const {
+    id,
+    type = "",
+    deviceTypeName = "",
+    name = "榛樿鍚嶇О",
+    view,
+    latitude,
+    longitude,
+    height,
+    callback,
+    imgWidth = 56,
+    imgHeight = 67,
+    showBillboard = true,
+    showLabel = true,
+    className = "device"
+  } = option;
+
+
+  const realType = type || deviceTypeName;
+
   // 濡傛灉宸茬粡瀛樺湪璇� id 鐨� entity锛屽垯璺宠繃鍒涘缓
   if (pointEntityMap.has(id)) {
     clearAllPoints()
     console.log(`鐐� ${id} 宸插瓨鍦紝璺宠繃鍒涘缓`);
-    // return;
   }
 
   let position = Cesium.Cartesian3.fromDegrees(longitude, latitude, height || 50);
@@ -75,14 +93,17 @@
     id,
     name: name,
     position: position,
-    type: type,
+    type: realType,
     view: view,
     attrs: option,
     className: className,
     label: {
       text: name || "榛樿鏍囩",
       font: "14pt Source Han Sans CN",
-      fillColor: type.includes("active") ? Cesium.Color.AQUA : Cesium.Color.WHITE,
+      fillColor: (typeof realType === 'string' && realType.includes("active"))
+        ? Cesium.Color.AQUA
+        : Cesium.Color.WHITE,
+      // fillColor: Cesium.Color.WHITE,
       backgroundColor: showBillboard ? Cesium.Color.BLACK.withAlpha(0.5) : Cesium.Color.SKYBLUE,
       showBackground: true,
       outline: false,
@@ -94,9 +115,10 @@
       verticalOrigin: Cesium.VerticalOrigin.CENTER,
       horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
       pixelOffset: new Cesium.Cartesian2(0, -40),
-      distanceDisplayCondition: type.includes("娌虫祦")
+      distanceDisplayCondition: (typeof realType === 'string' && realType.includes("娌虫祦"))
         ? new Cesium.DistanceDisplayCondition(0, 5000000)
         : new Cesium.DistanceDisplayCondition(0, 50000),
+      // distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 50000),
       heightReference: Cesium.HeightReference.RELATIVE_TO_GROUND,
       show: showLabel,
     },
@@ -112,9 +134,11 @@
     pixelOffset: new Cesium.Cartesian2(0, 3),
     scale: 0.8,
     scaleByDistance: new Cesium.NearFarScalar(1.5e2, 1.0, 1.5e7, 0.5),
-    distanceDisplayCondition: type.includes("娌虫祦")
+    distanceDisplayCondition: (typeof realType === 'string' && realType.includes("娌虫祦"))
       ? new Cesium.DistanceDisplayCondition(0, 5000000)
       : new Cesium.DistanceDisplayCondition(0, 50000),
+    distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 50000),
+
     show: showBillboard,
     heightReference: Cesium.HeightReference.RELATIVE_TO_GROUND,
     backgroundColor: showBillboard ? Cesium.Color.BLACK.withAlpha(0.8) : Cesium.Color.SKYBLUE,

--
Gitblit v1.9.3