From 91f425a9e4c11016dccd78186a4ab0dec3c49870 Mon Sep 17 00:00:00 2001
From: GuLiMmo <2820890765@qq.com>
Date: Wed, 27 Mar 2024 17:50:29 +0800
Subject: [PATCH] update

---
 src/utils/cesium/mapUtils.ts |   25 ++++++++++++++++++++++++-
 1 files changed, 24 insertions(+), 1 deletions(-)

diff --git a/src/utils/cesium/mapUtils.ts b/src/utils/cesium/mapUtils.ts
index ef5b8f6..47d01a4 100644
--- a/src/utils/cesium/mapUtils.ts
+++ b/src/utils/cesium/mapUtils.ts
@@ -57,7 +57,10 @@
 }
 
 // 获取当前经纬度海拔
-export const getHaeHeight = (start: { longitude: number; latitude: number; height: number }, end: { longitude: number; latitude: number; height: number }) => {
+export const getHaeHeight = (
+  start: { longitude: number; latitude: number; height: number },
+  end: { longitude: number; latitude: number; height: number },
+) => {
   const ellipsoid = Cesium.Ellipsoid.WGS84 // 选择合适的椭圆体模型
   // const { longitude, latitude, height } = start
   // const { longitude: endLng, latitude: endLat, height: endHeight } = end
@@ -74,3 +77,23 @@
   const haeHeight = ellipsoid.cartesianToCartographic(cartesianPosition).height
   return haeHeight
 }
+
+// Cesium Cartesian3 转正常经纬度
+export const cartesian3Convert = (cartesian3Position: Cesium.Cartesian3, viewer: { scene: { globe: { ellipsoid: any } } }) => {
+  // 转换为经纬度
+  const ellipsoid = viewer.scene.globe.ellipsoid
+  const cartographicPosition = Cesium.Cartographic.fromCartesian(cartesian3Position, ellipsoid)
+  const longitude = Cesium.Math.toDegrees(cartographicPosition.longitude)
+  const latitude = Cesium.Math.toDegrees(cartographicPosition.latitude)
+  const height = cartographicPosition.height
+
+  console.log('经度: ' + longitude)
+  console.log('纬度: ' + latitude)
+  console.log('高度: ' + height)
+
+  return {
+    longitude,
+    latitude,
+    height,
+  }
+}

--
Gitblit v1.9.3