From b0623031f7839e3f5b061f712c6ead91f57db5cf Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期日, 08 十月 2023 15:42:37 +0800
Subject: [PATCH] 地块展示效果优化

---
 src/assets/js/rpc.js |   64 +++++++++++++++++++-------------
 1 files changed, 38 insertions(+), 26 deletions(-)

diff --git a/src/assets/js/rpc.js b/src/assets/js/rpc.js
index de220a1..939495f 100644
--- a/src/assets/js/rpc.js
+++ b/src/assets/js/rpc.js
@@ -128,7 +128,7 @@
                     lon: val.location.x,
                     lat: val.location.y,
                 };
-                objArr.push(itemObj);
+                that.objArr.push(itemObj);
             });
             if (index == length) {
                 if (that.objArr.length <= 0) {
@@ -177,10 +177,12 @@
     },
     // 鏄剧ず鍦板潡鑼冨洿
     getLandmass(res) {
-        let that = this;
-        if (res.tpye == "鍥尯") {
 
-        } else if (res.tpye == "鍦板潡") {
+        let that = this;
+        if (res.type == "鍥尯") {
+
+        } else if (res.type == "鍦板潡") {
+
             getDiKuanFanWei(res.lon, res.lat).then(response => {
                 let center = { lon: 0, lat: 0 };
                 let polygon = that.read(response.geometry);
@@ -189,25 +191,29 @@
                     let points = polygon[0].split(",");
                     for (let i = 0; i < points.length; i++) {
                         let point = points[i].replace(/^\s+|\s+$/g, "").split(" ");
-                        center.lon += parseFloat(point[0]) / points.length;
-                        center.lat += parseFloat(point[1]) / points.length;
-                        geometry.push({
-                            x: parseFloat(point[0]),
-                            y: parseFloat(point[1]),
-                            z: 0
-                        });
+                        // center.lon += parseFloat(point[0]) / points.length;
+                        // center.lat += parseFloat(point[1]) / points.length;
+                        geometry.push(parseFloat(point[0]), parseFloat(point[1]))
+
                     }
-                    if (that.lacationLine) {
-                        sgworld.Creator.DeleteObject(that.lacationLine);
-                        that.lacationLine = null;
-                    }
-                    that.lacationLine = sgworld.Creator.createPolyline(
-                        geometry,
-                        "#ff0000",
-                        1,
-                        0,
-                        "绾�"
-                    );
+                    that.setLacationLineClear()
+                    var position = Cesium.Cartesian3.fromDegreesArray(geometry)
+
+                    that.lacationLine = Viewer.entities.add({
+                        name: "绔嬩綋澧欐晥鏋�",
+                        wall: {
+                            positions: position,
+
+
+                            material: new Cesium.DynamicWallMaterialProperty({
+                                color: Cesium.Color.RED,
+                                duration: 4000
+                            }),
+                            // 璁剧疆楂樺害
+                            maximumHeights: Array(position.length).fill(80),
+                            minimumHeights: Array(position.length).fill(10),
+                        }
+                    })
                 }
             });
         }
@@ -760,10 +766,8 @@
             this.instance && this.instance.$destroy();
             this.instance = null;
         }
-        if (this.lacationLine) {
-            sgworld.Creator.DeleteObject(this.lacationLine);
-            this.lacationLine = null;
-        }
+        //鍦板潡
+        this.setLacationLineClear()
         // 杞ㄨ抗绾�
         this.setClosePathLine();
         // 婕父
@@ -772,6 +776,14 @@
         this.setClearPointFly();
         vueEvents.$emit("queryLayer", false);
     },
+
+
+    setLacationLineClear() {
+        if (this.lacationLine) {
+            Viewer.entities.remove(this.lacationLine)
+            this.lacationLine = null;
+        }
+    },
     setClearPointFly() {
         if (this.pointerFly) {
             this.pointerFly && this.pointerFly.end();

--
Gitblit v1.9.3