| | |
| | | this.tileLayersTileArray = [] // 初始的Tile集 |
| | | this.tileLayersWMSArray = [] // 初始的WMS集 |
| | | 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) { |
| | |
| | | if (layer.minZoom) { |
| | | if (zoom > layer.minZoom) { |
| | | var layerObj = that.layerArray[layer.code] |
| | | layerObj.addTo(that.map) |
| | | layerObj && layerObj.addTo(that.map) |
| | | } else { |
| | | that.removeLayer(layer) |
| | | } |
| | |
| | | var layer = that.loadGeojson(res, item) |
| | | that.layerArray[code] = layer |
| | | }) |
| | | } else { |
| | | that.layerArray[code].addTo(that.map) |
| | | } |
| | | } |
| | | |
| | |
| | | loadGeojson (res, opt) { |
| | | var that = this |
| | | var icon = opt.icon |
| | | const featureGroup = that.L.featureGroup().addTo(that.map) |
| | | const geojson = that.L.geoJSON(res.features, { |
| | | style: function (feature) { |
| | | return { |
| | |
| | | .bindTooltip(function (layer) { |
| | | const nameId = layer.feature.id |
| | | let name = '' |
| | | if (nameId.indexOf('三通') !== -1 || nameId.indexOf('四通') !== -1) { |
| | | if (nameId.indexOf('三通') !== -1 || nameId.indexOf('四通') !== -1 || nameId.indexOf('窨井') !== -1) { |
| | | name = layer.feature.properties.pointnumber |
| | | } else { |
| | | name = layer.feature.properties.name |
| | | } |
| | | if (name === undefined) { |
| | | name = '' |
| | | } |
| | | return name |
| | | }, { direction: 'bottom', offset: [0, 15], sticky: true }) |
| | |
| | | } |
| | | }) |
| | | } |
| | | }).addTo(featureGroup) |
| | | }).addTo(that.map) |
| | | 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) { |
| | | this.map.removeLayer(this.layerArray[item.code]) |
| | | var layer = this.layerArray[item.code] |
| | | layer && this.map.removeLayer(layer) |
| | | } |
| | | |
| | | /** |