src/components/LayerController/service/LayerFactory.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/LayerController/service/WfsLayerService.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/conf/MapConfig.js | ●●●●● 补丁 | 查看 | 原始文档 | 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] } // 污雨水图层配置 }