From 06d7620cedc2bd76d15db3e0187d45420961e9ab Mon Sep 17 00:00:00 2001
From: guanqb <18720758508@163.com>
Date: Wed, 23 Nov 2022 09:27:31 +0800
Subject: [PATCH] 空间查询点击定位功能

---
 src/components/map/index.vue |   32 +++++++++++++++++++-------------
 1 files changed, 19 insertions(+), 13 deletions(-)

diff --git a/src/components/map/index.vue b/src/components/map/index.vue
index 71dc931..6bc35ac 100644
--- a/src/components/map/index.vue
+++ b/src/components/map/index.vue
@@ -65,6 +65,7 @@
     monitoringLayer: null,
     panoramaLayer: null
 }
+let polygonObj = {}
 
 let tilesetLayer = null
 
@@ -290,7 +291,11 @@
         })
 
         this.$EventBus.$on('layerPolygonAdd', (params) => {
-            that.layerPolygonAdd(params.layerName, params.positions, params.material, params.distanceDisplayCondition)
+            if ('polygonName' in params) {
+                that.layerPolygonAdd(params.layerName, params.positions, params.material, params.distanceDisplayCondition, params.polygonName)
+            } else {
+                that.layerPolygonAdd(params.layerName, params.positions, params.material, params.distanceDisplayCondition, 'polygon')
+            }
         })
 
         this.$EventBus.$on('layerPolylineAdd', (params) => {
@@ -316,7 +321,7 @@
         })
 
         this.$EventBus.$on('flytoLayer', (params) => {
-            that.flytoLayer(params.layerName, params.duration)
+            that.flytoLayer(params.polygonName, params.duration)
         })
 
     },
@@ -507,22 +512,23 @@
          * @param {*} material 颜色
          * @param {*} distanceDisplayCondition 可见距离
          */
-        layerPolygonAdd (layerName, positions, material, distanceDisplayCondition) {
+        layerPolygonAdd (layerName, positions, material, distanceDisplayCondition, polygonName) {
             if (!layersObjcect[layerName] || layersObjcect[layerName] == null) {
                 this.mapAddLayer(layerName, 'VectorLayer')
 
                 layersObjcect[layerName].allowDrillPicking = true
             }
-
-            let polygon = new global.DC.Polygon(positions)
-
-            polygon.setStyle({
+            // let polygon = new global.DC.Polygon(positions)
+            // let polygonObj = {}//要在全局定义
+            polygonObj[polygonName] = new global.DC.Polygon(positions)
+            // polygon.setStyle({
+            polygonObj[polygonName].setStyle({
                 material: material,
                 distanceDisplayCondition: distanceDisplayCondition,
                 perPositionHeight: true,
             })
-
-            layersObjcect[layerName].addOverlay(polygon)
+            // layersObjcect[layerName].addOverlay(polygon)
+            layersObjcect[layerName].addOverlay(polygonObj[polygonName])
         },
 
         /**
@@ -585,12 +591,12 @@
         // sdTilesetLayer
 
         /**
-        * 飞到指定图层
-        * @param {*} layerName 图层名称
+        * 飞到指定范围
+        * @param {*} polygonName 范围名称
         * @param {*} duration 时间
         */
-        flytoLayer (layerName, duration = 3) {
-            global.viewer.flyTo(layersObjcect[layerName], duration)
+        flytoLayer (polygonName, duration = 3) {
+            global.viewer.flyTo(polygonObj[polygonName], duration)
         },
 
         /**

--
Gitblit v1.9.3