派生自 wuyushui/SewerAndRainNetwork

徐旺旺
2021-04-09 b1f1538f433486783db4a042d8f9ba540892e320
管线在下面显示
3个文件已修改
53 ■■■■■ 已修改文件
src/components/LayerController/service/LayerFactory.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/service/WfsLayerService.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/MapConfig.js 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/service/LayerFactory.js
@@ -11,13 +11,17 @@
  init (layerConfig) {
    // 1. 遍历layer config
    for (var i = 0, l = layerConfig.length; i < l; i++) {
      var config = layerConfig[i]
      var layers = config.layers
      layers && this.init(config.layers)
    if (layerConfig) {
      for (var i = 0, l = layerConfig.length; i < l; i++) {
        var config = layerConfig[i]
        var layers = config.layers
        var childLayer = config.childLayer
        layers && this.init(config.layers)
        childLayer && this.init(config.childLayer)
      var checked = config.checked
      checked && this.load(config)
        var checked = config.checked
        checked && this.load(config)
      }
    }
  }
@@ -72,17 +76,25 @@
  }
  /**
     * 设置index,线在最下面,点在上面
     * @param layerGroup 图层组
     */
  setZIndex (layerGroup) {
    var layers = layerGroup.getLayers()
    if (layers.length > 0) {
      var layer = layers[0]
      if (layer.feature && (layer.feature.geometry.type === 'LineString' || layer.feature.geometry.type === 'MultiLineString')) {
        layerGroup.bringToBack()
   * todo 这里无效,貌似是因为geojson加载到地图也是个layergroup
   *
   * 设置index,线在最下面,点在上面
   * @param layerGroup 图层组
   */
  setZIndex (layer) {
    if (Array.isArray(layer)) {
      for (var i = 0; i < layer.length; i++) {
        this.setZIndex(layer[i])
      }
    } else {
      if (layer.getLayers) {
        this.setZIndex(layer.getLayers())
      } else {
        layerGroup.bringToFront()
        if (layer.feature && (layer.feature.geometry.type === 'LineString' || layer.feature.geometry.type === 'MultiLineString')) {
          layer.bringToBack()
        } else {
          layer.bringToFront()
        }
      }
    }
  }
src/components/LayerController/service/WfsLayerService.js
@@ -1,7 +1,6 @@
/**
 * 加载业务数据图层
 */
import { STYLES } from '../../../conf/Constants'
import AjaxUtils from '../../../utils/AjaxUtils'
@@ -30,14 +29,13 @@
  loadData (wfsUrl) {
    AjaxUtils.get4JsonDataByUrl(wfsUrl, this.params, (res) => {
      console.log(res)
      this.draw(res.data.features)
    })
  }
  draw (features) {
    const icon = this.config.icon
    this.L.geoJSON(features, {
    const geojsonLayer = this.L.geoJSON(features, {
      style: function (feature) {
        return {
          fill: STYLES.FILL,
@@ -75,6 +73,7 @@
          .on('mouseover', (e) => this.mouseOverListener(e, layer)).on('mouseout', (e) => this.mouseOutListener(e, layer))
      }
    }).addTo(this.layer)
    window.layerFactory.setZIndex(geojsonLayer)
  }
  mouseOverListener (e, layer) {
src/conf/MapConfig.js
@@ -1,6 +1,5 @@
import * as L from 'leaflet'
import TDT from './TDT'
import { LayerSewersPoint } from './layers/LayerSewers'
import { LayerTopic } from './LayerTopic'
import { LayerBasin } from './layers/LayerBasin'
@@ -42,8 +41,7 @@
  IntranetBaseMaps: TDT.intranet,
  InternetBaseMaps: TDT.internet,
  Layers: {
    LayerSewersLine: [LayerBasin, LayerTopic],
    layerSewersPoint: LayerSewersPoint
    LayerSewersLine: [LayerBasin, LayerTopic]
  } // 污雨水图层配置
}