From 934e9d7a796c1eccb04a8b07e939d8bbe0ca708a Mon Sep 17 00:00:00 2001
From: YANGDL <114714267@qq.com>
Date: 星期二, 09 三月 2021 15:15:51 +0800
Subject: [PATCH] 修复ie下不能显示的问题
---
src/components/helpers/ServiceLayerHelper.js | 40 ++++++++++++++++++++++++++++++----------
1 files changed, 30 insertions(+), 10 deletions(-)
diff --git a/src/components/helpers/ServiceLayerHelper.js b/src/components/helpers/ServiceLayerHelper.js
index dcde9a6..96da67f 100644
--- a/src/components/helpers/ServiceLayerHelper.js
+++ b/src/components/helpers/ServiceLayerHelper.js
@@ -16,13 +16,27 @@
this.tileLayersTileArray = [] // 鍒濆鐨凾ile闆�
this.tileLayersWMSArray = [] // 鍒濆鐨刉MS闆�
this.layerArray = {} // key涓洪厤缃殑code锛屽姞杞界殑鍥惧眰瀵硅薄锛�
- this.layerConfig = {}
this.regex = /\{(.+?)\}/g // 鍖归厤{}
this.popupComp = null
}
getTileLayer (code) {
return this.loadedLayersMap.get(code)
+ }
+
+ getByLayerId (layerId) {
+ for (var k in this.layerArray) {
+ var layer = this.layerArray[k]
+ var geojson = layer.toGeoJSON()
+ var features = geojson.features
+ for (var j = 0; j < features.length; j++) {
+ var feature = features[j]
+ if (feature.id === layerId) {
+ return layer
+ }
+ }
+ }
+ return null
}
initDisplayZoom (layerConfig) {
@@ -102,18 +116,23 @@
* @param url
* @param item
*/
- loadGeojsonLayer (url, item) {
+ async loadGeojsonLayer (url, item) {
var matches = this.regex.exec(url)
var matchValue = item[matches[1]]
var code = item.code
var newUrl = url.replace(this.regex, matchValue)
var that = this
if (!that.layerArray[code]) {
- AjaxUtils.GetDataAsynByUrl(newUrl, {}, function (res) {
- store.commit('addSewersDatas', res)
- var layer = that.loadGeojson(res, item)
- that.layerArray[code] = layer
- })
+ const res = await AjaxUtils.GetDataAsynByUrl(newUrl, {})
+ if (res.data instanceof Object && Object.prototype.hasOwnProperty.call(res.data, 'features')) {
+ store.commit('addSewersDatas', res.data)
+ if (newUrl.indexOf('绠$綉') !== -1 || newUrl.indexOf('鍥涢��') !== -1) {
+ var layer = that.loadGeojson(res.data, item)
+ that.layerArray[code] = layer
+ }
+ }
+ } else {
+ that.layerArray[code].addTo(that.map)
}
}
@@ -124,7 +143,7 @@
loadGeojson (res, opt) {
var that = this
var icon = opt.icon
- const featureGroup = that.L.featureGroup().addTo(that.map)
+ const layergroup = that.L.featureGroup().addTo(that.map)
const geojson = that.L.geoJSON(res.features, {
style: function (feature) {
return {
@@ -200,14 +219,15 @@
}
})
}
- }).addTo(featureGroup)
+ // }).addTo(that.map)
+ }).addTo(layergroup)
store.commit('addSewersDatas', geojson)
if (Object.prototype.hasOwnProperty.call(res, 'features') && res.features.length > 0 && (res.features[0].geometry.type === 'LineString' || res.features[0].geometry.type === 'MultiLineString')) {
geojson.bringToBack()
} else {
geojson.bringToFront()
}
- return featureGroup
+ return geojson
}
removeLayer (item) {
--
Gitblit v1.8.0