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 |  102 +++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 82 insertions(+), 20 deletions(-)

diff --git a/src/assets/js/rpc.js b/src/assets/js/rpc.js
index a216f8b..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";
@@ -85,7 +86,7 @@
         ]).then(result => {
             var that = this;
             store.queryLayer.data = [];
-            //浼乿涓�
+            //浼佷笟
             var EntArr = result[0].result.filter(item => {
                 return item.entName.includes(res);
             });
@@ -114,30 +115,22 @@
                 that.objArr.push(itemObj);
             });
             //鍦板潡
-            var LandArr = result[2].candidates.filter(item => {
+            var LandArr = result[2].candidates.filter((item) => {
                 return item.attributes.QYMC.includes(res);
-            });
+            })
             // 缁撴灉鏍规嵁QYMC浠庣煭鍒伴暱鎺掑簭
-            LandArr.sort((a, b) =>
-                b.attributes.QYMC.length === a.attributes.QYMC.length
-                    ? 0
-                    : a.attributes.QYMC.length > b.attributes.QYMC.length
-                        ? 1
-                        : -1
-            );
-
-            LandArr.forEach(val => {
+            LandArr.sort((a, b) => (b.attributes.QYMC.length === a.attributes.QYMC.length ? 0 : a.attributes.QYMC.length > b.attributes.QYMC.length ? 1 : -1))
+            LandArr.forEach((val) => {
                 let itemObj = {
                     type: "鍦板潡",
                     name: val.attributes.QYMC,
                     area: val.attributes.area,
                     code: val.attributes["鍦板潡缂�"],
                     lon: val.location.x,
-                    lat: val.location.y
+                    lat: val.location.y,
                 };
-                that.objArr.push(itemObj);
+                objArr.push(itemObj);
             });
-
             if (index == length) {
                 if (that.objArr.length <= 0) {
 
@@ -186,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) {
@@ -505,7 +563,11 @@
         //娣诲姞瀹氫綅寮圭獥
         this.setAddPointLocation(objdata);
         //鑼冨洿璋冪敤
-        this.getLandmass(res);
+        if (res.type == '鍥尯') {
+            this.getPark(res)
+        } else if (res.type == '鍦板潡') {
+            this.getLandmass(res);
+        }
     },
 
     setAddPointLocation(res) {
@@ -642,7 +704,7 @@
         });
         setTimeout(() => {
             this.setClearPointFly();
-        }, 5000);
+        }, 8000);
     },
     changeCameraHeading(res) {
         var nextIndex = this.marksIndex + 1;

--
Gitblit v1.9.3