From 48a6eb2109a41f8e10d5a2b67ea17899d3ef3586 Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期一, 11 九月 2023 17:46:19 +0800
Subject: [PATCH] 地名定位展示效果优化,坐标定位功能优化

---
 src/assets/js/Map/menuTool.js |   49 +++++++++++++++++++++++++++++++++----------------
 1 files changed, 33 insertions(+), 16 deletions(-)

diff --git a/src/assets/js/Map/menuTool.js b/src/assets/js/Map/menuTool.js
index 6bd167c..0ae8ed2 100644
--- a/src/assets/js/Map/menuTool.js
+++ b/src/assets/js/Map/menuTool.js
@@ -104,24 +104,40 @@
     if (this.localPoint) {
       this.setLocalPositionClose();
     }
-    var position = {
-      X: parseFloat(res.lon),
-      Y: parseFloat(res.lat),
-      Altitude: parseFloat(res.alt),
-    };
-    this.localPoint = window.sgworld.Creator.CreateImageLabel(
-      position,
-      config.StaticFileBaseUrl + "/Workers/image/mark.png",
-      {},
-      0,
-      "鏍囩鐐�"
-    );
-    var id = this.localPoint.item.id;
-    window.sgworld.Navigate.flyToObj(this.localPoint.item);
+    // var position = {
+    //   X: parseFloat(res.lon),
+    //   Y: parseFloat(res.lat),
+    //   Altitude: parseFloat(res.alt),
+    // };
+    // this.localPoint = window.sgworld.Creator.CreateImageLabel(
+    //   position,
+    //   config.StaticFileBaseUrl + "/Workers/image/mark.png",
+    //   {},
+    //   0,
+    //   "鏍囩鐐�"
+    // );
+    // var id = this.localPoint.item.id;
+    // window.sgworld.Navigate.flyToObj(this.localPoint.item);
+    this.localPoint = window.Viewer.entities.add({
+      name: '鍧愭爣瀹氫綅',
+      position: Cesium.Cartesian3.fromDegrees(parseFloat(res.lon), parseFloat(res.lat), res.alt == null ? parseFloat(res.alt) : 0),
+      billboard: {
+        image: config.StaticFileBaseUrl + '/Workers/image/location.png',
+        // 璁剧疆璐村湴
+        heightReference: Cesium.Color.CORNFLOWERBLUE.withAlpha(0.4),
+        verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
+        scale: 5.0,
+      },
+    });
+    this.setViewerFlyTo(this.localPoint)
   },
   setLocalPositionClose() {
-    this.localPoint.deleteObject();
-    this.localPoint = null;
+    if (this.localPoint) {
+      // this.localPoint.deleteObject();
+      window.Viewer.entities.remove(this.localPoint)
+      this.localPoint = null;
+    }
+
   },
   //鍧″害鍒嗘瀽
   setSlopeMap() {
@@ -622,6 +638,7 @@
     this.setViewerFlyTo(position)
   },
   setViewerFlyTo(entity) {
+
     window.Viewer.flyTo(entity, {
       offset: {
         heading: Cesium.Math.toRadians(0.0),

--
Gitblit v1.9.3