From 144f33b870653829a8ae29486c652250a51a63e3 Mon Sep 17 00:00:00 2001
From: chenzeping <ChenZeping02609@163.com>
Date: 星期三, 21 四月 2021 10:51:22 +0800
Subject: [PATCH] 废汽实时数据/小时数居

---
 src/components/LayerController/service/WfsLayerService.js |   49 +++++++++++++++++++++++++++++--------------------
 1 files changed, 29 insertions(+), 20 deletions(-)

diff --git a/src/components/LayerController/service/WfsLayerService.js b/src/components/LayerController/service/WfsLayerService.js
index e5a175d..cb0a4bf 100644
--- a/src/components/LayerController/service/WfsLayerService.js
+++ b/src/components/LayerController/service/WfsLayerService.js
@@ -1,9 +1,9 @@
 /**
  * 鍔犺浇涓氬姟鏁版嵁鍥惧眰
  */
-
-import styles from '../../../conf/Styles'
+import { STYLES } from '../../../conf/Constants'
 import AjaxUtils from '../../../utils/AjaxUtils'
+import { setZIndex } from '../../../utils/utils'
 
 class WfsLayerService {
   constructor (config) {
@@ -11,8 +11,8 @@
     this.params = {
       version: '1.0.0',
       REQUEST: 'getfeature',
-      OUTPUTFORMAT: 'json',
-      maxFeatures: 20000
+      OUTPUTFORMAT: 'json'
+      // maxFeatures: 20000
     }
     this.popupComp = window.popupComp
     this.L = window.L
@@ -21,25 +21,34 @@
   }
 
   init (layer) {
+    this.layer = layer
     const wfsUrl = this.config.wfs
     if (wfsUrl) {
-      AjaxUtils.get4JsonDataByUrl(wfsUrl, this.params, (res) => this.draw(layer, res.data.features))
+      this.loadData(wfsUrl)
     }
   }
 
-  draw (layer, features) {
+  loadData (wfsUrl) {
+    AjaxUtils.get4JsonDataByUrl(wfsUrl, this.params, (res) => {
+      this.draw(res.data.features)
+    })
+  }
+
+  draw (features) {
     const icon = this.config.icon
-    const geojson = this.L.geoJSON(features, {
+    const styles = this.config.styles
+    Object.assign(STYLES, styles)
+    const geojsonLayer = this.L.geoJSON(features, {
       style: function (feature) {
         return {
-          fill: styles.defaultLineStyle.fill,
-          weight: styles.defaultLineStyle.weight,
-          fillColor: styles.defaultLineStyle.fillColor,
-          color: styles.defaultLineStyle.color,
-          fillOpacity: styles.defaultLineStyle.fillOpacity,
-          opacity: styles.defaultLineStyle.opacity,
-          dashArray: styles.defaultLineStyle.dashArray,
-          dashSpeed: styles.defaultLineStyle.dashSpeed
+          fill: STYLES.FILL,
+          weight: STYLES.WEIGHT,
+          fillColor: STYLES.FILL_COLOR,
+          color: STYLES.COLOR,
+          fillOpacity: STYLES.FILL_OPACITY,
+          opacity: STYLES.OPACITY
+          // dashArray: STYLES.DASH_ARRAY,
+          // dashSpeed: STYLES.DASH_SPPED
         }
       },
       pointToLayer: (geoJsonPoint, latlng) => {
@@ -48,7 +57,7 @@
             img: {
               // url: 'assets/images/map/marker-icon.png',
               url: '/assets/images/map/' + icon,
-              size: styles.defaultLineStyle.size
+              size: STYLES.ICON_SIZE
             }
           })
       },
@@ -66,8 +75,8 @@
           .bindTooltip((layer) => this.tooltipListener(layer), { direction: 'bottom', offset: [0, 15], sticky: true })
           .on('mouseover', (e) => this.mouseOverListener(e, layer)).on('mouseout', (e) => this.mouseOutListener(e, layer))
       }
-    }).addTo(layer)
-    return geojson
+    }).addTo(this.layer)
+    setZIndex(geojsonLayer)
   }
 
   mouseOverListener (e, layer) {
@@ -90,13 +99,13 @@
     const icon = this.config.icon
     const type = e.target.feature.geometry.type
     if (type === 'LineString' || type === 'MultiLineString') {
-      layer.setStyle({ weight: styles.defaultLineStyle.weight, color: styles.defaultLineStyle.color })
+      layer.setStyle({ weight: STYLES.WEIGHT, color: STYLES.COLOR })
     }
     if (type === 'Point' || type === 'MultiPoint') {
       layer.setStyle({
         img: {
           url: '/assets/images/map/' + icon,
-          size: styles.defaultLineStyle.size
+          size: STYLES.ICON_SIZE
         }
       })
     }

--
Gitblit v1.8.0