From b781d8f13a5b6ce20cfad7ec6c2d0a72013a8764 Mon Sep 17 00:00:00 2001
From: 徐旺旺 <11530253@qq.com>
Date: 星期三, 21 四月 2021 16:51:43 +0800
Subject: [PATCH] 修改比例尺的BUG
---
src/components/LayerController/service/WfsLayerService.js | 84 +++++++++++++++++++++--------------------
src/conf/layers/LayerHbss.js | 2
src/components/LayerController/service/LayerFactory.js | 29 +++++++++-----
3 files changed, 63 insertions(+), 52 deletions(-)
diff --git a/src/components/LayerController/service/LayerFactory.js b/src/components/LayerController/service/LayerFactory.js
index 9387933..909038e 100644
--- a/src/components/LayerController/service/LayerFactory.js
+++ b/src/components/LayerController/service/LayerFactory.js
@@ -32,7 +32,13 @@
initMinZoom (config) {
const minZoom = parseInt(config.minZoom)
if (minZoom) {
- this.minZoomLayers[minZoom] = config
+ var configs = this.minZoomLayers[minZoom]
+ if (configs) {
+ configs[configs.length] = config
+ } else {
+ configs = [config]
+ }
+ this.minZoomLayers[minZoom] = configs
}
}
@@ -101,20 +107,23 @@
* @param layerConfig
*/
initEvent (layerConfig) {
- // this.map.on('zoomend ', () => this.toggleByZoom())
+ this.map.on('zoomend ', () => this.toggleByZoom())
}
toggleByZoom () {
const zoom = this.map.getZoom()
for (var k in this.minZoomLayers) {
- const config = this.minZoomLayers[k]
- const checked = config.checked
- console.log(zoom)
- console.log(k)
- if (checked && zoom > k) {
- this.show(config)
- } else if (checked && zoom < k) {
- this.hide(config)
+ const configs = this.minZoomLayers[k]
+ for (var j in configs) {
+ const config = configs[j]
+ const checked = config.checked
+ console.log(zoom)
+ console.log(k)
+ if (checked && zoom > k) {
+ this.show(config)
+ } else if (checked && zoom < k) {
+ this.hide(config)
+ }
}
}
}
diff --git a/src/components/LayerController/service/WfsLayerService.js b/src/components/LayerController/service/WfsLayerService.js
index cb0a4bf..0c601a2 100644
--- a/src/components/LayerController/service/WfsLayerService.js
+++ b/src/components/LayerController/service/WfsLayerService.js
@@ -35,48 +35,50 @@
}
draw (features) {
- const icon = this.config.icon
- const styles = this.config.styles
- Object.assign(STYLES, styles)
- const geojsonLayer = this.L.geoJSON(features, {
- style: function (feature) {
- return {
- 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) => {
- return this.L.canvasMarker(latlng,
- {
- img: {
- // url: 'assets/images/map/marker-icon.png',
- url: '/assets/images/map/' + icon,
- size: STYLES.ICON_SIZE
- }
+ if (features && features.length > 0) {
+ const icon = this.config.icon
+ const styles = this.config.styles
+ Object.assign(STYLES, styles)
+ const geojsonLayer = this.L.geoJSON(features, {
+ style: function (feature) {
+ return {
+ 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) => {
+ return this.L.canvasMarker(latlng,
+ {
+ img: {
+ // url: 'assets/images/map/marker-icon.png',
+ url: '/assets/images/map/' + icon,
+ size: STYLES.ICON_SIZE
+ }
+ })
+ },
+ onEachFeature: (feature, layer) => {
+ layer.bindPopup((layer) => {
+ this.popupComp.setDatas(layer)
+ this.popupComp.setShow()
+ return this.popupComp.$el
+ }, {
+ className: 's-map-popup',
+ minWidth: 300,
+ closeButton: false,
+ autoClose: false
})
- },
- onEachFeature: (feature, layer) => {
- layer.bindPopup((layer) => {
- this.popupComp.setDatas(layer)
- this.popupComp.setShow()
- return this.popupComp.$el
- }, {
- className: 's-map-popup',
- minWidth: 300,
- closeButton: false,
- autoClose: false
- })
- .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(this.layer)
- setZIndex(geojsonLayer)
+ .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(this.layer)
+ setZIndex(geojsonLayer)
+ }
}
mouseOverListener (e, layer) {
diff --git a/src/conf/layers/LayerHbss.js b/src/conf/layers/LayerHbss.js
index 5fdeca9..e0bceeb 100644
--- a/src/conf/layers/LayerHbss.js
+++ b/src/conf/layers/LayerHbss.js
@@ -12,7 +12,7 @@
code: 'yj',
name: '绐ㄤ簳',
sname: '绐ㄤ簳',
- checked: true,
+ checked: false,
minZoom: 16,
wfs: WFS_URL + '?TYPENAME=绐ㄤ簳',
icon: 'sewers/绐ㄤ簳.png'
--
Gitblit v1.8.0