From 3b79ee564d4c77189484711ece4dc80786f79080 Mon Sep 17 00:00:00 2001
From: 徐旺旺 <11530253@qq.com>
Date: 星期一, 17 五月 2021 14:34:20 +0800
Subject: [PATCH] 定位、高亮重封装

---
 src/components/LayerController/service/WmsLayerService.js |   73 +++++++-----------------------------
 1 files changed, 15 insertions(+), 58 deletions(-)

diff --git a/src/components/LayerController/service/WmsLayerService.js b/src/components/LayerController/service/WmsLayerService.js
index fbc74bd..1434664 100644
--- a/src/components/LayerController/service/WmsLayerService.js
+++ b/src/components/LayerController/service/WmsLayerService.js
@@ -2,6 +2,7 @@
 import { WMS_URL } from '../../../conf/Constants'
 import Popup from '@views/popup/Popup'
 import WmsLayerList from '../dataset/WmsLayerList'
+import { highlight } from '../../helpers/LocateHelper'
 
 /**
  * todo 寰楄�冭檻涓�涓浘灞傞厤缃簡澶氫釜 wmsLayers鐨勬儏鍐�
@@ -29,9 +30,11 @@
     this.featureGroup = this.L.featureGroup({}).addTo(this.map)
 
     this.wmsLayerList = new WmsLayerList()
-    for (var i = 0; i < layersConfig.length; i++) {
-      const config = layersConfig[i]
-      this.wmsLayerList.addConfig(config)
+    if (layersConfig) {
+      for (var i = 0; i < layersConfig.length; i++) {
+        const config = layersConfig[i]
+        this.wmsLayerList.addConfig(config)
+      }
     }
     this.load()
   }
@@ -42,27 +45,20 @@
 
   add (config) {
     this.wmsLayerList.addConfig(config)
-    const layers = this.wmsLayerList.getLayers()
-    const filter = this.wmsLayerList.getFilters()
+    const layers = this.wmsLayerList.getLayers() || ''
+    const filter = this.wmsLayerList.getFilters() || ''
     const params = {}
-    if (filter) {
-      params.cql_filter = filter
-    }
-    if (layers) {
-      params.layers = layers
-    }
+    params.cql_filter = filter
+    params.layers = layers
     this.wmsLayer.setParams(params)
   }
 
   remove (config) {
-    console.log(config)
     this.wmsLayerList.remove(config.typeName, config.filter)
-    const layers = this.wmsLayerList.getLayers()
-    const filter = this.wmsLayerList.getFilters()
+    const layers = this.wmsLayerList.getLayers() || ''
+    const filter = this.wmsLayerList.getFilters() || ''
     const params = { layers: layers }
-    if (filter) {
-      params.cql_filter = filter
-    }
+    params.cql_filter = filter
     this.wmsLayer.setParams(params)
   }
 
@@ -86,7 +82,7 @@
   clickListener () {
     window.map.on('click', (e) => {
       // console.log(e)
-      window.layerFactory.clearHighlight()
+      window.mapManager.clearHighlight()
       this.featureGroup.clearLayers()
       var point = this.map.latLngToContainerPoint(e.latlng, this.map.getZoom())
       var size = this.map.getSize()
@@ -121,7 +117,7 @@
             for (var i = 0; i < features.length; i++) {
               const feature = features[i]
               const properties = feature.properties
-              this.highlight(feature)
+              highlight(feature)
               // const coordinates = feature.geometry.coordinates
               popupDatas.push({
                 title: properties.wellname || properties.devicename || properties.name || properties.pipename,
@@ -166,45 +162,6 @@
         })
       }
     })
-  }
-
-  reverseMultiLine (feature) {
-    const coordinates = feature.geometry.coordinates
-    var latlng = []
-    for (var j = 0; j < coordinates.length; j++) {
-      const coordinate = coordinates[j]
-      var xy = []
-      for (var k = 0; k < coordinate.length; k++) {
-        const coor = coordinate[k]
-        xy.push(coor.reverse())
-      }
-      latlng.push(xy)
-    }
-    return latlng
-  }
-
-  reversePolyLine (feature) {
-    const coordinates = feature.geometry.coordinates
-    var latlng = []
-    for (var j = 0; j < coordinates.length; j++) {
-      const coordinate = coordinates[j]
-      latlng.push(coordinate.reverse())
-    }
-    return latlng
-  }
-
-  highlight (feature) {
-    const type = feature.geometry.type
-    if (type === 'MultiLineString') {
-      this.L.polyline(this.reverseMultiLine(feature), { color: 'red' }).addTo(this.featureGroup)
-    } else if (type === 'Point') {
-      var myIcon = this.L.divIcon({ className: 'my-div-icon' })
-      this.L.marker(feature.geometry.coordinates.reverse(), {
-        icon: myIcon
-      }).addTo(this.featureGroup)
-    } else if (type === 'LineString') {
-      this.L.polyline(this.reversePolyLine(feature), { color: 'red' }).addTo(this.featureGroup)
-    }
   }
 }
 

--
Gitblit v1.8.0