From 204b8af237555feb1af83250dfdc28a5dc0a467c Mon Sep 17 00:00:00 2001
From: chenyabin <Chenab123!>
Date: 星期一, 10 五月 2021 17:22:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/develop' into develop

---
 src/components/LayerController/service/WmsLayerService.js |   50 ++++++++++++++++++++++++--------------------------
 1 files changed, 24 insertions(+), 26 deletions(-)

diff --git a/src/components/LayerController/service/WmsLayerService.js b/src/components/LayerController/service/WmsLayerService.js
index 8c0d5dc..36aba46 100644
--- a/src/components/LayerController/service/WmsLayerService.js
+++ b/src/components/LayerController/service/WmsLayerService.js
@@ -1,6 +1,7 @@
 import AjaxUtils from '../../../utils/AjaxUtils'
 import { PIPELINE_WMS } from '../../../conf/Constants'
 import Popup from '@views/popup/Popup'
+import List from '../../../utils/List'
 
 /**
  * todo 寰楄�冭檻涓�涓浘灞傞厤缃簡澶氫釜 wmsLayers鐨勬儏鍐�
@@ -27,13 +28,12 @@
     // 瀛樻斁getfeatureinfo鐨勫浘灞傜粍
     this.featureGroup = this.L.featureGroup({}).addTo(this.map)
 
-    this.layers = []
+    this.layers = new List()
     for (var i = 0; i < layersConfig.length; i++) {
       const config = layersConfig[i]
-      for (var k in config) {
-        if (k === 'wmsLayers') {
-          this.layers.push(config[k])
-        }
+      const typeName = config.typeName
+      if (typeName) {
+        this.layers.add(config.index, typeName)
       }
     }
   }
@@ -46,23 +46,18 @@
   }
 
   add (config) {
-    const wmsLayers = config.wmsLayers
-    if (wmsLayers) {
-      if (this.layers.indexOf(wmsLayers) < 0) {
-        this.layers.push(config.wmsLayers)
+    const typeName = config.typeName
+    if (typeName) {
+      if (!this.layers.contains(typeName)) {
+        this.layers.add(config.index, typeName)
         this.wmsLayer.setParams({ layers: this.layers.join(',') })
       }
     }
   }
 
   remove (config) {
-    const wmsLayers = config.wmsLayers
-    for (var i = 0; i < this.layers.length; i++) {
-      const layerName = this.layers[i]
-      if (wmsLayers === layerName) {
-        this.layers.splice(i, 1)
-      }
-    }
+    const typeName = config.typeName
+    this.layers.remove(typeName)
     this.wmsLayer.setParams({ layers: this.layers.join(',') })
   }
 
@@ -70,18 +65,19 @@
     this.wmsLayer = this.L.tileLayer.wms(PIPELINE_WMS, {
       format: 'image/png', // 杩斿洖鐨勬暟鎹牸寮�
       transparent: true,
-      layers: layers.join(',')
+      layers: this.layers.join(',')
     }).addTo(this.map)
   }
 
   clickListener () {
     window.map.on('click', (e) => {
+      console.log(e)
       this.featureGroup.clearLayers()
       var point = this.map.latLngToContainerPoint(e.latlng, this.map.getZoom())
       var size = this.map.getSize()
       // const bbox = this.L.latLngBounds(this.L.latLng(e.latlng.lng, e.latlng.lat)).toBBoxString()
 
-      if (this.layers && this.layers.length > 0) {
+      if (this.layers.length() > 0) {
         const params = Object.assign({
           LAYERS: this.layers.join(','),
           QUERY_LAYERS: this.layers.join(','),
@@ -94,13 +90,13 @@
         AjaxUtils.get4JsonDataByUrl(PIPELINE_WMS, params, (res) => {
           const features = res.data.features
           /**
-             * {
-             *     title: 'New Tab',
-             *     name: newTabName,
-             *     content: 'New Tab content'
-             * }
-             * @type {*[]}
-             */
+           * {
+           *     title: 'New Tab',
+           *     name: newTabName,
+           *     content: 'New Tab content'
+           * }
+           * @type {*[]}
+           */
           const popupDatas = []
           if (features) {
             for (var i = 0; i < features.length; i++) {
@@ -140,7 +136,9 @@
                     datas: popupDatas
                   }
                 },
-                title: '' // 鏍囬
+                title: '', // 鏍囬
+                left: e.originalEvent.clientX,
+                top: e.originalEvent.clientY
               })
             }
             // this.popupComp.setDatas(popupDatas)

--
Gitblit v1.8.0