From 3b79ee564d4c77189484711ece4dc80786f79080 Mon Sep 17 00:00:00 2001 From: 徐旺旺 <11530253@qq.com> Date: 星期一, 17 五月 2021 14:34:20 +0800 Subject: [PATCH] 定位、高亮重封装 --- src/components/LayerController/service/WmsLayerService.js | 73 +++++++----------------------------- 1 files changed, 15 insertions(+), 58 deletions(-) diff --git a/src/components/LayerController/service/WmsLayerService.js b/src/components/LayerController/service/WmsLayerService.js index fbc74bd..1434664 100644 --- a/src/components/LayerController/service/WmsLayerService.js +++ b/src/components/LayerController/service/WmsLayerService.js @@ -2,6 +2,7 @@ import { WMS_URL } from '../../../conf/Constants' import Popup from '@views/popup/Popup' import WmsLayerList from '../dataset/WmsLayerList' +import { highlight } from '../../helpers/LocateHelper' /** * todo 寰楄�冭檻涓�涓浘灞傞厤缃簡澶氫釜 wmsLayers鐨勬儏鍐� @@ -29,9 +30,11 @@ this.featureGroup = this.L.featureGroup({}).addTo(this.map) this.wmsLayerList = new WmsLayerList() - for (var i = 0; i < layersConfig.length; i++) { - const config = layersConfig[i] - this.wmsLayerList.addConfig(config) + if (layersConfig) { + for (var i = 0; i < layersConfig.length; i++) { + const config = layersConfig[i] + this.wmsLayerList.addConfig(config) + } } this.load() } @@ -42,27 +45,20 @@ add (config) { this.wmsLayerList.addConfig(config) - const layers = this.wmsLayerList.getLayers() - const filter = this.wmsLayerList.getFilters() + const layers = this.wmsLayerList.getLayers() || '' + const filter = this.wmsLayerList.getFilters() || '' const params = {} - if (filter) { - params.cql_filter = filter - } - if (layers) { - params.layers = layers - } + params.cql_filter = filter + params.layers = layers this.wmsLayer.setParams(params) } remove (config) { - console.log(config) this.wmsLayerList.remove(config.typeName, config.filter) - const layers = this.wmsLayerList.getLayers() - const filter = this.wmsLayerList.getFilters() + const layers = this.wmsLayerList.getLayers() || '' + const filter = this.wmsLayerList.getFilters() || '' const params = { layers: layers } - if (filter) { - params.cql_filter = filter - } + params.cql_filter = filter this.wmsLayer.setParams(params) } @@ -86,7 +82,7 @@ clickListener () { window.map.on('click', (e) => { // console.log(e) - window.layerFactory.clearHighlight() + window.mapManager.clearHighlight() this.featureGroup.clearLayers() var point = this.map.latLngToContainerPoint(e.latlng, this.map.getZoom()) var size = this.map.getSize() @@ -121,7 +117,7 @@ for (var i = 0; i < features.length; i++) { const feature = features[i] const properties = feature.properties - this.highlight(feature) + highlight(feature) // const coordinates = feature.geometry.coordinates popupDatas.push({ title: properties.wellname || properties.devicename || properties.name || properties.pipename, @@ -166,45 +162,6 @@ }) } }) - } - - reverseMultiLine (feature) { - const coordinates = feature.geometry.coordinates - var latlng = [] - for (var j = 0; j < coordinates.length; j++) { - const coordinate = coordinates[j] - var xy = [] - for (var k = 0; k < coordinate.length; k++) { - const coor = coordinate[k] - xy.push(coor.reverse()) - } - latlng.push(xy) - } - return latlng - } - - reversePolyLine (feature) { - const coordinates = feature.geometry.coordinates - var latlng = [] - for (var j = 0; j < coordinates.length; j++) { - const coordinate = coordinates[j] - latlng.push(coordinate.reverse()) - } - return latlng - } - - highlight (feature) { - const type = feature.geometry.type - if (type === 'MultiLineString') { - this.L.polyline(this.reverseMultiLine(feature), { color: 'red' }).addTo(this.featureGroup) - } else if (type === 'Point') { - var myIcon = this.L.divIcon({ className: 'my-div-icon' }) - this.L.marker(feature.geometry.coordinates.reverse(), { - icon: myIcon - }).addTo(this.featureGroup) - } else if (type === 'LineString') { - this.L.polyline(this.reversePolyLine(feature), { color: 'red' }).addTo(this.featureGroup) - } } } -- Gitblit v1.8.0