From cb85033879c74f34925a303402c1ad3e4a8646f2 Mon Sep 17 00:00:00 2001 From: 徐旺旺 <11530253@qq.com> Date: 星期一, 10 五月 2021 17:03:54 +0800 Subject: [PATCH] 搜索更换为geoserver wfs,图层顺序,弹窗定位等 --- src/components/LayerController/service/LayerFactory.js | 21 ++++++++++++++------- 1 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/components/LayerController/service/LayerFactory.js b/src/components/LayerController/service/LayerFactory.js index f7ee38d..f781247 100644 --- a/src/components/LayerController/service/LayerFactory.js +++ b/src/components/LayerController/service/LayerFactory.js @@ -1,6 +1,6 @@ import WfsLayerService from './WfsLayerService' import { clone } from '../../../utils/utils' -import { logicMapper } from '../../../conf/Constants' +import { logicMapper, SERVICE_TYPE } from '../../../conf/Constants' import WmsLayerService from './WmsLayerService' /** @@ -17,7 +17,7 @@ this.layersLogic = {} this.minZoomLayers = {} this.wmsLayers = [] - this.clickSwitch = false + this.clickSwitch = true // 鍥惧眰鐐瑰嚮寮圭獥寮�鍏� } init (layerConfig) { @@ -65,8 +65,7 @@ loadLogic (config) { var code = config.code - var wfs = config.wfs - var wmsLayers = config.wmsLayers + var type = config.type const file = logicMapper[code] var logic = this.layersLogic[code] @@ -74,9 +73,9 @@ if (file) { var BusiLayer = require('../logic/' + file) logic = new BusiLayer() - } else if (wfs) { + } else if (type === SERVICE_TYPE.WFS) { logic = new WfsLayerService(config) - } else if (wmsLayers) { + } else if (type === SERVICE_TYPE.WMS) { var layer = {} layer[config.code] = config this.wmsLayers.push(layer) @@ -184,9 +183,17 @@ break case 'MultiLineString': var coordinates = feature.geometry.coordinates - point = coordinates[parseInt(coordinates.length / 2)][0] + var coordinate = coordinates[parseInt(coordinates.length / 2)][0] + if (coordinate.length > 2) { + point = [coordinate[0], coordinate[1]] + } + break + case 'LineString': + var lineString = feature.geometry.coordinates + point = lineString[parseInt(lineString.length / 2)][0] break } + console.log(point) window.map.flyTo(point.reverse(), 17) code && this.openPopup(code, feature.id) } -- Gitblit v1.8.0