From 8632c09b383b0070cf1bf683b58bc59b23288d1b Mon Sep 17 00:00:00 2001
From: lixuliang <lixuliang_hd@126.com>
Date: 星期日, 08 十月 2023 10:59:55 +0800
Subject: [PATCH] 新增园区范围

---
 src/assets/js/rpc.js |   67 ++++++++++++++++++++++++---------
 1 files changed, 48 insertions(+), 19 deletions(-)

diff --git a/src/assets/js/rpc.js b/src/assets/js/rpc.js
index a216f8b..ffbf4d7 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,40 @@
     // 鏄剧ず鍦板潡鑼冨洿
     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,
+                    "绾�"
+                );
+            }
+        });
+    },
+    // 鏄剧ず鍥尯鑼冨洿
+    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 +530,11 @@
         //娣诲姞瀹氫綅寮圭獥
         this.setAddPointLocation(objdata);
         //鑼冨洿璋冪敤
-        this.getLandmass(res);
+        if (res.type == '鍥尯') {
+            this.getPark(res)
+        } else if (res.type == '鍦板潡') {
+            this.getLandmass(res);
+        }
     },
 
     setAddPointLocation(res) {

--
Gitblit v1.9.3