From 4423935d0249d35161efa7f2a095fbfc4b2fd017 Mon Sep 17 00:00:00 2001 From: 徐旺旺 <11530253@qq.com> Date: 星期一, 17 五月 2021 17:15:31 +0800 Subject: [PATCH] 定位、弹窗 --- src/components/helpers/MapManager.js | 44 ++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 40 insertions(+), 4 deletions(-) diff --git a/src/components/helpers/MapManager.js b/src/components/helpers/MapManager.js index 625a78e..9795d33 100644 --- a/src/components/helpers/MapManager.js +++ b/src/components/helpers/MapManager.js @@ -1,22 +1,58 @@ +import AjaxUtils from '../../utils/AjaxUtils' +import { WMS_URL } from '../../conf/Constants' +import { openPopup } from './LocateHelper' + class MapManager { constructor () { this.hightlightLayer = window.L.featureGroup({}).addTo(window.map) this.clickDialogSwitch = true // 鍥惧眰鐐瑰嚮寮圭獥寮�鍏� this.L = window.L this.map = window.map + // wms getfeatureinfo 榛樿鍙傛暟 + this.defaultWmsParams = { + VERSION: '1.1.1', + SERVICE: 'WMS', + REQUEST: 'GetFeatureInfo', + // bbox: bbox, + FORMAT: 'image/png', + INFO_FORMAT: 'application/json', + TRANSPARENT: true, + FEATURE_COUNT: 50, + SRS: 'EPSG:4326', + EXCEPTIONS: 'application/vnd.ogc.se_inimage' + } } mapClickListener () { - window.map.on('click', (e) => { + this.map.on('click', (e) => { + // console.log(e) + this.clearHighlight() + this.loadWfsDatas(e.latlng) + }) + } + 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) }) } clearHighlight () { this.hightlightLayer.clearLayers() - } - - iconPoint (latlng) { } } -- Gitblit v1.8.0