From 54849757852f6ab40eb17afbd03d1d839b60a38d Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Mon, 13 Nov 2023 17:09:15 +0800
Subject: [PATCH] 重复定时和连续执行

---
 src/hooks/use-cesium-tsa.ts |   21 ++++++++++++++++++---
 1 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/src/hooks/use-cesium-tsa.ts b/src/hooks/use-cesium-tsa.ts
index d70dfcf..057c3e7 100644
--- a/src/hooks/use-cesium-tsa.ts
+++ b/src/hooks/use-cesium-tsa.ts
@@ -20,11 +20,17 @@
   outlineWidth: number,
   [key: string]: any
 }
+interface polyline {
+  width?: number
+  material?: Cesium.Color
+  [key: string]: any
+}
 interface pointOption {
   longitude: number
   latitude: number
   point?: pointSetting
   billboard?: billboardSetting
+  polyline?: polyline
   label?: labelSetting
   id?: string
   heading?: number
@@ -153,6 +159,14 @@
     })
   }
 
+  // 添加线段
+  const addPolyline = (pointOption: pointOption) => {
+    viewer?.entities.add({
+      polyline: pointOption.polyline,
+      id: pointOption.id,
+    })
+  }
+
   // 通过点ID删除
   function removeById (id:string) {
     viewer?.entities.removeById(id)
@@ -177,9 +191,9 @@
     }
   }
   // 飞行 flyto
-  const flyTo = (pointOption: pointOption, time: number = 4) => {
+  const flyTo = (pointOption: pointOption, time: number = 4, height:number = 3000) => {
     if (!pointOption.longitude && !pointOption.latitude) return
-    const destination = Cesium.Cartesian3.fromDegrees(pointOption.longitude, pointOption.latitude, 3000)
+    const destination = Cesium.Cartesian3.fromDegrees(pointOption.longitude, pointOption.latitude, height)
     const duration = time
     viewer?.camera.flyTo({
       destination,
@@ -276,6 +290,7 @@
     roadPattern,
     patternMap,
     getEntityById,
-    updateEntityPosition
+    updateEntityPosition,
+    addPolyline
   }
 }

--
Gitblit v1.9.3