From b4fa7ad9c8e0051e9851c3bfbe398d5ff4cbfafe Mon Sep 17 00:00:00 2001 From: 陈泽平 <chenzeping> Date: 星期三, 19 五月 2021 16:05:39 +0800 Subject: [PATCH] Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop --- src/components/helpers/MapManager.js | 45 ++++++++++++++++++++++++++------------------- 1 files changed, 26 insertions(+), 19 deletions(-) diff --git a/src/components/helpers/MapManager.js b/src/components/helpers/MapManager.js index 9795d33..791ebe8 100644 --- a/src/components/helpers/MapManager.js +++ b/src/components/helpers/MapManager.js @@ -1,6 +1,6 @@ import AjaxUtils from '../../utils/AjaxUtils' import { WMS_URL } from '../../conf/Constants' -import { openPopup } from './LocateHelper' +import { highlight, openPropsPopup } from './LocateHelper' class MapManager { constructor () { @@ -27,27 +27,34 @@ this.map.on('click', (e) => { // console.log(e) this.clearHighlight() - this.loadWfsDatas(e.latlng) + this.loadWfsDatas(e.latlng).then((res) => { + if (res.features.length > 0) { + highlight(res.features[0]) + openPropsPopup(e.latlng, res.features) + } + }) }) } - loadWfsDatas (latlng) { - const size = this.map.getSize() - var point = this.map.latLngToContainerPoint(latlng, this.map.getZoom()) - const wmsLayerService = window.layerFactory.wmsLayerService - const layers = wmsLayerService.wmsLayerList.getLayers() - // const filters = wmsLayerService.wmsLayerList.getFilters() - const params = Object.assign({ - LAYERS: layers, - QUERY_LAYERS: layers, - WIDTH: size.x, - HEIGHT: size.y, - X: Math.round(point.x), - Y: Math.round(point.y), - BBOX: this.map.getBounds().toBBoxString() - }, this.defaultWmsParams) - AjaxUtils.get4JsonDataByUrl(WMS_URL, params, (res) => { - openPopup(latlng, res.data.features) + loadWfsDatas (latlng, params) { + return new Promise((resolve, reject) => { + const size = this.map.getSize() + var point = this.map.latLngToContainerPoint(latlng, this.map.getZoom()) + const wmsLayerService = window.layerFactory.wmsLayerService + const layers = wmsLayerService.wmsLayerList.getLayers() + // const filters = wmsLayerService.wmsLayerList.getFilters() + const wmsParams = Object.assign({ + LAYERS: layers, + QUERY_LAYERS: layers, + WIDTH: size.x, + HEIGHT: size.y, + X: Math.round(point.x), + Y: Math.round(point.y), + BBOX: this.map.getBounds().toBBoxString() + }, this.defaultWmsParams, params) + AjaxUtils.get4JsonDataByUrl(WMS_URL, wmsParams, (res) => { + resolve(res.data) + }) }) } -- Gitblit v1.8.0