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/api/api.js       |    9 +++++++--
 src/assets/js/rpc.js |   45 +++++++++++++++++++++++++++++++++++++++++----
 2 files changed, 48 insertions(+), 6 deletions(-)

diff --git a/src/api/api.js b/src/api/api.js
index c5ee2d1..bd00ca1 100644
--- a/src/api/api.js
+++ b/src/api/api.js
@@ -22,9 +22,14 @@
         "/gisserver/rest/services/Locators/dikuaixinxi1005/GeocodeServer/findAddressCandidates?singleLine=" + params
     );
 }
-
 //鑾峰彇鍦板潡鑼冨洿
-export function getDiKuanFanWei(lon, lat) {
+export function getLandBorder(lon, lat) {
+    return request.get(
+        "http://10.10.4.115:8022/geowinmap_xncs/ds?r=0.9158559377752831&serviceproviderid=map.vectorserviceprovider&serviceid=queryfeature&featcls=225%25E8%258C%2583%25E5%259B%25B4%25E5%2588%2586%25E5%258C%25BA%25E8%25A7%2584%25E5%2588%2592.geojson&lng=" + lon + "&lat=" + lat + "&geom=true&requesttype=json"
+    )
+}
+// 鑾峰彇鍥尯鑼冨洿
+export function getParkBorder(lon, lat) {
     return request.get(
         "http://10.10.4.115:8022/geowinmap_xncs/ds?r=0.9158559377752831&serviceproviderid=map.vectorserviceprovider&serviceid=queryfeature&featcls=225%25E8%258C%2583%25E5%259B%25B4%25E5%2588%2586%25E5%258C%25BA%25E8%25A7%2584%25E5%2588%2592.geojson&lng=" + lon + "&lat=" + lat + "&geom=true&requesttype=json"
     )
diff --git a/src/assets/js/rpc.js b/src/assets/js/rpc.js
index 8667074..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";
@@ -178,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) {
@@ -497,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