From e955287ac83d12c1545db512d9af7ed5a15db21c Mon Sep 17 00:00:00 2001 From: chenyabin <Chenab123!> Date: 星期一, 10 五月 2021 15:05:47 +0800 Subject: [PATCH] 管线搜索弹框整体调整 --- src/components/LayerController/service/WmsLayerService.js | 67 +++++++++++++++++++++++---------- 1 files changed, 47 insertions(+), 20 deletions(-) diff --git a/src/components/LayerController/service/WmsLayerService.js b/src/components/LayerController/service/WmsLayerService.js index e102f0c..8c0d5dc 100644 --- a/src/components/LayerController/service/WmsLayerService.js +++ b/src/components/LayerController/service/WmsLayerService.js @@ -1,5 +1,6 @@ import AjaxUtils from '../../../utils/AjaxUtils' import { PIPELINE_WMS } from '../../../conf/Constants' +import Popup from '@views/popup/Popup' /** * todo 寰楄�冭檻涓�涓浘灞傞厤缃簡澶氫釜 wmsLayers鐨勬儏鍐� @@ -74,13 +75,13 @@ } clickListener () { - if (this.layers && this.layers.length > 0) { - window.map.on('click', (e) => { - this.featureGroup.clearLayers() - var point = this.map.latLngToContainerPoint(e.latlng, this.map.getZoom()) - var size = this.map.getSize() - // const bbox = this.L.latLngBounds(this.L.latLng(e.latlng.lng, e.latlng.lat)).toBBoxString() + window.map.on('click', (e) => { + this.featureGroup.clearLayers() + var point = this.map.latLngToContainerPoint(e.latlng, this.map.getZoom()) + var size = this.map.getSize() + // const bbox = this.L.latLngBounds(this.L.latLng(e.latlng.lng, e.latlng.lat)).toBBoxString() + if (this.layers && this.layers.length > 0) { const params = Object.assign({ LAYERS: this.layers.join(','), QUERY_LAYERS: this.layers.join(','), @@ -93,13 +94,13 @@ AjaxUtils.get4JsonDataByUrl(PIPELINE_WMS, params, (res) => { const features = res.data.features /** - * { - * title: 'New Tab', - * name: newTabName, - * content: 'New Tab content' - * } - * @type {*[]} - */ + * { + * title: 'New Tab', + * name: newTabName, + * content: 'New Tab content' + * } + * @type {*[]} + */ const popupDatas = [] if (features) { for (var i = 0; i < features.length; i++) { @@ -108,7 +109,7 @@ this.highlight(feature) // const coordinates = feature.geometry.coordinates popupDatas.push({ - title: properties.wellname || properties.devicename || properties.name, + title: properties.wellname || properties.devicename || properties.name || properties.pipename, name: feature.id, content: properties }) @@ -118,7 +119,7 @@ var myIcon = this.L.divIcon({ className: 'my-div-icon' }) this.L.marker(e.latlng, { icon: myIcon - }).addTo(this.featureGroup) + }).addTo(this.featureGroup)/* .bindPopup((layer) => { this.popupComp.setDatas(popupDatas) this.popupComp.setShow() @@ -129,14 +130,28 @@ closeButton: false, autoClose: false }) - .openPopup() + .openPopup() */ + + if (window.layerFactory.clickSwitch) { + window.$layer.open({ + content: { + content: Popup, // 缁勪欢 + data: { // 浼犻�掔殑鍙傛暟 + datas: popupDatas + } + }, + title: '' // 鏍囬 + }) + } + // this.popupComp.setDatas(popupDatas) + // this.popupComp.setShow() } }) - }) - } + } + }) } - reverse (feature) { + reverseMultiLine (feature) { const coordinates = feature.geometry.coordinates var latlng = [] for (var j = 0; j < coordinates.length; j++) { @@ -151,15 +166,27 @@ 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.reverse(feature)).addTo(this.featureGroup) + 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