From f99c96adfe3ec59712cdadf88d54416c7742cc21 Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期日, 08 十月 2023 11:15:11 +0800
Subject: [PATCH] 代码更新

---
 src/assets/js/rpc.js |   80 +++++++++++++++++++++++++++++++++++++--
 1 files changed, 75 insertions(+), 5 deletions(-)

diff --git a/src/assets/js/rpc.js b/src/assets/js/rpc.js
index 8667074..f8da644 100644
--- a/src/assets/js/rpc.js
+++ b/src/assets/js/rpc.js
@@ -5,7 +5,8 @@
 import {
     liushisijiayuanqudizhibianmafuwu,
     findAddressCandidates,
-    getDiKuanFanWei,
+    getLandBorder,
+    getParkBorder,
     ent_selectByName
 } from "../../api/api";
 import vueEvents from "@/utils/vueEvent.js";
@@ -178,8 +179,73 @@
     // 鏄剧ず鍦板潡鑼冨洿
     getLandmass(res) {
         let that = this;
-        // 鍒掔嚎
-        getDiKuanFanWei(res.lon, res.lat).then(response => {
+        getLandBorder(res.lon, res.lat).then(response => {
+            let center = { lon: 0, lat: 0 };
+            let polygon = that.read(response.geometry);
+            if (polygon.length > 0) {
+                var geometry = [];
+                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
+                    });
+                }
+                if (that.lacationLine) {
+                    sgworld.Creator.DeleteObject(that.lacationLine);
+                    that.lacationLine = null;
+                }
+                that.lacationLine = sgworld.Creator.createPolyline(
+                    geometry,
+                    "#ff0000",
+                    1,
+                    0,
+                    "绾�"
+                );
+            }
+        });
+
+        // var positions = [
+        //     108.95846,
+        //     34.22104,
+        //     108.96039,
+        //     34.22104,
+        //     108.96046,
+        //     34.21804,
+        //     108.95843,
+        //     34.21804,
+        //     108.95846,
+        //     34.22104
+        // ];
+        // var wall = Viewer.entities.add({
+        //     name: "绔嬩綋澧欐晥鏋�",
+        //     wall: {
+        //         positions: Cesium.Cartesian3.fromDegreesArray(positions),
+
+
+        //         material: new Cesium.DynamicWallMaterialProperty({
+        //             color: Cesium.Color.RED,
+        //             duration: 4000
+        //         }),
+        //         // 璁剧疆楂樺害
+        //         maximumHeights: [20, 20, 20, 20, 20],
+        //         minimumHeights: [0, 0, 0, 0, 0],
+        //     }
+        // })
+
+        // setTimeout(() => {
+        //     Viewer.flyTo(wall)
+        // }, 20000); 
+
+    },
+    // 鏄剧ず鍥尯鑼冨洿
+    getPark(res) {
+        let that = this;
+        getParkBorder(res.lon, res.lat).then(response => {
             let center = { lon: 0, lat: 0 };
             let polygon = that.read(response.geometry);
             if (polygon.length > 0) {
@@ -497,7 +563,11 @@
         //娣诲姞瀹氫綅寮圭獥
         this.setAddPointLocation(objdata);
         //鑼冨洿璋冪敤
-        this.getLandmass(res);
+        if (res.type == '鍥尯') {
+            this.getPark(res)
+        } else if (res.type == '鍦板潡') {
+            this.getLandmass(res);
+        }
     },
 
     setAddPointLocation(res) {
@@ -634,7 +704,7 @@
         });
         setTimeout(() => {
             this.setClearPointFly();
-        }, 5000);
+        }, 8000);
     },
     changeCameraHeading(res) {
         var nextIndex = this.marksIndex + 1;

--
Gitblit v1.9.3