From 4473382ddd15af3767edf0b4c8becd8ffbd186f9 Mon Sep 17 00:00:00 2001
From: husq <931347610@qq.com>
Date: Wed, 13 Sep 2023 11:30:32 +0800
Subject: [PATCH] 注释没用到的接口代码、英文修改为中文

---
 src/hooks/use-center-point.ts |   40 ++++++++++++++++++++++++++++++++++------
 1 files changed, 34 insertions(+), 6 deletions(-)

diff --git a/src/hooks/use-center-point.ts b/src/hooks/use-center-point.ts
index de17dde..2ee5f2f 100644
--- a/src/hooks/use-center-point.ts
+++ b/src/hooks/use-center-point.ts
@@ -10,7 +10,7 @@
   })
 }
 // 绘制点
-function addPoint (viewer: any, id: string, longitude: number, latitude: number, label: string) {
+export function addPoint (viewer: any, id: string, longitude: number, latitude: number) {
   const entity = viewer.entities.add({
     position: Cesium.Cartesian3.fromDegrees(longitude, latitude),
     id,
@@ -35,7 +35,6 @@
   const handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas)
   handler.setInputAction(function (click: any) {
     const pickedObject = viewer.scene.pick(click.position)
-    console.log(pickedObject, 'pickObject')
     if (Cesium.defined(pickedObject)) {
       const list = longitudeList.filter((v: { id: string, longitude: number; latitude: number; }) => v.id === pickedObject.id.id)
       if (pickedObject.id.label) {
@@ -57,10 +56,39 @@
 }
 
 // 飞到项目中心点
-export function flyTo (viewer: any, longitude: number, latitude: number) {
-  // console.log()
-  const targetPosition = { longitude, latitude }
+export function flyTo (viewer: any, longitude: number, latitude: number, height: number = 5000) {
+  const targetPosition = { longitude, latitude, height }
   viewer.camera.flyTo({
-    destination: targetPosition,
+    destination: Cesium.Cartesian3.fromDegrees(longitude, latitude, height),
+    duration: 2
+  })
+}
+
+// 通过经纬度判断当前地图上是否有实体
+export function isEntityExist (viewer: any, longitude: number, latitude: number) {
+  const position = Cesium.Cartesian3.fromDegrees(longitude, latitude)
+  const pickedObject = viewer.scene.pick(position)
+  console.log(pickedObject, 'pickedObject')
+  if (Cesium.defined(pickedObject)) {
+    return true
+  } else {
+    return false
+  }
+}
+// 清除地图上的点
+export function clearAllPoint (viewer:any) {
+  // 获取Cesium场景对象
+  const scene = viewer.scene
+
+  // 获取场景中的所有图元
+  const primitives = scene.primitives
+
+  // 遍历图元数组
+  primitives.forEach(function (primitive: any) {
+  // 判断图元是否为点集合
+    if (primitive instanceof Cesium.PointPrimitiveCollection) {
+    // 移除所有点
+      primitive.removeAll()
+    }
   })
 }

--
Gitblit v1.9.3