From 3ec2e48009c84474ead34a82713ccc8c46f05d26 Mon Sep 17 00:00:00 2001
From: ChenZeping <chenzeping>
Date: 星期六, 08 五月 2021 11:23:35 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/develop' into develop
---
src/components/LayerController/service/WmsLayerService.js | 144 ++++++++++++++++++++++++++++-------------------
1 files changed, 86 insertions(+), 58 deletions(-)
diff --git a/src/components/LayerController/service/WmsLayerService.js b/src/components/LayerController/service/WmsLayerService.js
index b286194..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鐨勬儏鍐�
@@ -45,14 +46,13 @@
}
add (config) {
- const code = config.code
- for (var k in this.layersConfig) {
- if (code === k) {
- return false
+ const wmsLayers = config.wmsLayers
+ if (wmsLayers) {
+ if (this.layers.indexOf(wmsLayers) < 0) {
+ this.layers.push(config.wmsLayers)
+ this.wmsLayer.setParams({ layers: this.layers.join(',') })
}
}
- this.layers.push(config.wmsLayers)
- this.wmsLayer.setParams({ layers: this.layers.join(',') })
}
remove (config) {
@@ -81,61 +81,77 @@
var size = this.map.getSize()
// const bbox = this.L.latLngBounds(this.L.latLng(e.latlng.lng, e.latlng.lat)).toBBoxString()
- const params = Object.assign({
- LAYERS: this.layers.join(','),
- QUERY_LAYERS: this.layers.join(','),
- WIDTH: size.x,
- HEIGHT: size.y,
- X: Math.round(point.x),
- Y: Math.round(point.y),
- BBOX: this.map.getBounds().toBBoxString()
- }, this.params)
- AjaxUtils.get4JsonDataByUrl(PIPELINE_WMS, params, (res) => {
- const features = res.data.features
- /**
- * {
- * title: 'New Tab',
- * name: newTabName,
- * content: 'New Tab content'
- * }
- * @type {*[]}
- */
- const popupDatas = []
- if (features) {
- for (var i = 0; i < features.length; i++) {
- const feature = features[i]
- const properties = feature.properties
- this.highlight(feature)
- // const coordinates = feature.geometry.coordinates
- popupDatas.push({
- title: properties.wellname || properties.devicename || properties.name,
- name: feature.id,
- content: properties
- })
+ if (this.layers && this.layers.length > 0) {
+ const params = Object.assign({
+ LAYERS: this.layers.join(','),
+ QUERY_LAYERS: this.layers.join(','),
+ WIDTH: size.x,
+ HEIGHT: size.y,
+ X: Math.round(point.x),
+ Y: Math.round(point.y),
+ BBOX: this.map.getBounds().toBBoxString()
+ }, this.params)
+ AjaxUtils.get4JsonDataByUrl(PIPELINE_WMS, params, (res) => {
+ const features = res.data.features
+ /**
+ * {
+ * title: 'New Tab',
+ * name: newTabName,
+ * content: 'New Tab content'
+ * }
+ * @type {*[]}
+ */
+ const popupDatas = []
+ if (features) {
+ for (var i = 0; i < features.length; i++) {
+ const feature = features[i]
+ const properties = feature.properties
+ this.highlight(feature)
+ // const coordinates = feature.geometry.coordinates
+ popupDatas.push({
+ title: properties.wellname || properties.devicename || properties.name || properties.pipename,
+ name: feature.id,
+ content: properties
+ })
+ }
}
- }
- if (popupDatas.length > 0) {
- var myIcon = this.L.divIcon({ className: 'my-div-icon' })
- this.L.marker(e.latlng, {
- icon: myIcon
- }).addTo(this.featureGroup)
- .bindPopup((layer) => {
- this.popupComp.setDatas(popupDatas)
- this.popupComp.setShow()
- return this.popupComp.$el
- }, {
- className: 's-map-popup',
- minWidth: 300,
- closeButton: false,
- autoClose: false
- })
- .openPopup()
- }
- })
+ if (popupDatas.length > 0) {
+ var myIcon = this.L.divIcon({ className: 'my-div-icon' })
+ this.L.marker(e.latlng, {
+ icon: myIcon
+ }).addTo(this.featureGroup)/*
+ .bindPopup((layer) => {
+ this.popupComp.setDatas(popupDatas)
+ this.popupComp.setShow()
+ return this.popupComp.$el
+ }, {
+ className: 's-map-popup',
+ minWidth: 300,
+ closeButton: false,
+ autoClose: false
+ })
+ .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++) {
@@ -150,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