From 8687fa2178823a3204b3736bc917a7a31cc82f50 Mon Sep 17 00:00:00 2001
From: 徐旺旺 <11530253@qq.com>
Date: 星期一, 01 三月 2021 09:57:10 +0800
Subject: [PATCH] 修改图层控制
---
src/components/LayerController/modules/LcServiceLayerFilter.vue | 2
src/conf/LayerSewers.js | 14 ++++--
src/components/helpers/ServiceLayerHelper.js | 55 ++++++++++++++-------------
3 files changed, 39 insertions(+), 32 deletions(-)
diff --git a/src/components/LayerController/modules/LcServiceLayerFilter.vue b/src/components/LayerController/modules/LcServiceLayerFilter.vue
index c4a6cef..d1fccfa 100644
--- a/src/components/LayerController/modules/LcServiceLayerFilter.vue
+++ b/src/components/LayerController/modules/LcServiceLayerFilter.vue
@@ -6,7 +6,7 @@
@change="swAllSubFilter(item)">{{item.name}}
</div>
<div class="content">
- <div v-for="filter in item.filters" :key="filter.code">
+ <div v-for="filter in item.layers" :key="filter.code">
<input type="checkbox" :value="filter.code" :checked="filter.checked" @change="swSubFilter(item.url,filter)"><label
:title="filter.name">{{filter.name}}</label>
</div>
diff --git a/src/components/helpers/ServiceLayerHelper.js b/src/components/helpers/ServiceLayerHelper.js
index fa100b0..96ad647 100644
--- a/src/components/helpers/ServiceLayerHelper.js
+++ b/src/components/helpers/ServiceLayerHelper.js
@@ -5,7 +5,6 @@
import AjaxUtils from '@/utils/AjaxUtils'
import store from '@/store'
-var myRenderer = window.L.canvas()
class ServiceLayerHelper {
constructor (options) {
this.map = options.map
@@ -30,6 +29,7 @@
initServiceLayers (layerConfig) {
this.layerConfig = layerConfig
this.loadLayers(layerConfig.mapConfig.Layers.LayerSewersLine)
+ // this.loadLayers(layerConfig.mapConfig.Layers.layerSewersPoint)
}
/**
@@ -41,19 +41,17 @@
console.debug('ServiceLayerHelper鍔犺浇鍙傛暟锛�', layerConfig)
for (let i = 0, len = layerConfig.length; i < len; ++i) {
const opt = layerConfig[i]
- if (opt.checked) {
- if (opt.type === 'wmts') {
- this.loadWmtsLayer(opt, isAddToMap)
- this.tileLayersWMTSArray.push(opt)
- } else if (opt.type === 'wms') {
- this.loadWmsLayer(opt, isAddToMap)
- this.tileLayersWMSArray.push(opt)
- } else if (opt.type === 'tile') {
- this.loadTileLayer(opt, isAddToMap)
- this.tileLayersTileArray.push(opt)
- } else if (opt.type === 'geojson') {
- this.loadGeojsonLayers(opt)
- }
+ if (opt.type === 'wmts') {
+ this.loadWmtsLayer(opt, isAddToMap)
+ this.tileLayersWMTSArray.push(opt)
+ } else if (opt.type === 'wms') {
+ this.loadWmsLayer(opt, isAddToMap)
+ this.tileLayersWMSArray.push(opt)
+ } else if (opt.type === 'tile') {
+ this.loadTileLayer(opt, isAddToMap)
+ this.tileLayersTileArray.push(opt)
+ } else if (opt.type === 'geojson') {
+ this.loadGeojsonLayers(opt)
}
}
}
@@ -92,7 +90,8 @@
loadGeojson (res, layer) {
var that = this
var icon = layer.icon
- return that.L.geoJSON(res.features, {
+ const featureGroup = that.L.featureGroup().addTo(that.map)
+ that.L.geoJSON(res.features, {
style: function (feature) {
return {
fill: true,
@@ -115,11 +114,10 @@
size: [20, 20]
}
})
- },
- renderer: myRenderer
+ }
}).bindPopup(function (layer) {
- return layer.feature.properties.linenumber
- }).addTo(that.map)
+ }).addTo(featureGroup).bringToFront()
+ return featureGroup
}
removeLayer (item) {
@@ -139,11 +137,13 @@
loadWmtsLayer (options, isAddToMap = true) {
const layer = this.L.tileLayer(options.url, options.option)
layer.config = options
-
- if (isAddToMap) {
- layer.addTo(this.map)
+ var checked = options.checked
+ if (checked) {
+ if (isAddToMap) {
+ layer.addTo(this.map)
+ }
+ this.loadedLayersMap.set(options.code, layer)
}
- this.loadedLayersMap.set(options.code, layer)
}
/**
@@ -155,10 +155,13 @@
const layer = this.L.tileLayer.wms(options.url, options.option)
layer.config = options
- if (isAddToMap) {
- layer.addTo(this.tileLayerWmslayerGroup)
+ var checked = options.checked
+ if (checked) {
+ if (isAddToMap) {
+ layer.addTo(this.tileLayerWmslayerGroup)
+ }
+ this.loadedLayersMap.set(options.code, layer)
}
- this.loadedLayersMap.set(options.code, layer)
}
/**
diff --git a/src/conf/LayerSewers.js b/src/conf/LayerSewers.js
index 999b68c..5e8b4cc 100644
--- a/src/conf/LayerSewers.js
+++ b/src/conf/LayerSewers.js
@@ -99,13 +99,14 @@
code: 'fsss',
name: '闄勫睘璁炬柦',
checked: false, // 榛樿閫変腑鐘舵��
+ type: 'geojson',
url: APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs?version=1.0.0&TYPENAME={sname}&REQUEST=getfeature&OUTPUTFORMAT=json&maxFeatures=20000',
- filters: [
+ layers: [
{
code: 'fourlink',
name: '鍥涢��',
sname: '鍥涢��',
- checked: false,
+ checked: true,
icon: 'sewers/鍥涢��.png'
},
{
@@ -159,8 +160,9 @@
code: 'hbss',
name: '鐜繚璁炬柦',
checked: false, // 榛樿閫変腑鐘舵��
+ type: 'geojson',
url: APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs?version=1.0.0&TYPENAME={sname}&REQUEST=getfeature&OUTPUTFORMAT=json&maxFeatures=20000',
- filters: [
+ layers: [
{
code: 'manhole',
name: '绐ㄤ簳',
@@ -213,8 +215,9 @@
code: 'pk',
name: '鎺掑彛',
checked: false, // 榛樿閫変腑鐘舵��
+ type: 'geojson',
url: APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs?version=1.0.0&TYPENAME={sname}&REQUEST=getfeature&OUTPUTFORMAT=json&maxFeatures=20000',
- filters: [
+ layers: [
{
code: 'dischargeport',
name: '鎺掓斁鍙�',
@@ -227,8 +230,9 @@
code: 'qyxx',
name: '鍖哄煙淇℃伅',
checked: false, // 榛樿閫変腑鐘舵��
+ type: 'geojson',
url: APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs?version=1.0.0&TYPENAME={sname}&REQUEST=getfeature&OUTPUTFORMAT=json&maxFeatures=20000',
- filters: [
+ layers: [
{
code: 'thirdpartypipe',
name: '绗笁鏂圭閬�',
--
Gitblit v1.8.0