| | |
| | | /* eslint-disable no-debugger */ |
| | | /** |
| | | * 创建图层相关的类 |
| | | */ |
| | |
| | | initServiceLayers(mapConfig){ |
| | | console.log(mapConfig) |
| | | this.mapConfig = mapConfig |
| | | |
| | | this._loadLayers(mapConfig) |
| | | } |
| | | |
| | | _loadLayers(mapConfig, isAddToMap = true){ |
| | | console.debug('ServiceLayerHelper加载参数:',mapConfig) |
| | | this.loadTileLayer(mapConfig, isAddToMap) |
| | | this.loadWmtsLayer(mapConfig, isAddToMap) |
| | | this.loadWmtsLayer(mapConfig, isAddToMap) |
| | | } |
| | | |
| | | /** |
| | |
| | | * @param {}} options |
| | | * @param {*} isAddToMap |
| | | */ |
| | | loadWmtsLayer(options, isAddToMap) { |
| | | const layer =L.tileLayer.wmts(options.url, { |
| | | layers: options.layers || 'all',//country |
| | | format: options.format || "image/png", |
| | | transparent: options.true || true, |
| | | crs:options.crs || L.CRS.EPSG4326 |
| | | }); |
| | | |
| | | if(isAddToMap) { |
| | | layer.addTo(this.map) |
| | | loadWmtsLayer(options, isAddToMap = true) { |
| | | for(let i = 0, len = options.mapConfig.ServiceLayers.length; i < len; ++i) { |
| | | let opt = options.mapConfig.ServiceLayers[i] |
| | | if(opt.type !== 'wmts') { |
| | | continue |
| | | } |
| | | const layer = this.L.tileLayer(opt.url, opt.option); |
| | | |
| | | if(isAddToMap) { |
| | | layer.addTo(this.map) |
| | | } |
| | | this.tileLayersMap.set(opt.code, layer) |
| | | this.tileLayersArray.push(layer) |
| | | } |
| | | this.tileLayersMap.put(options.name, layer) |
| | | this.tileLayersArray.push(layer) |
| | | } |
| | | /** |
| | | * 往地图中加入一个WMS服务 |
| | | * @param {}} options |
| | | * @param {*} isAddToMap |
| | | */ |
| | | loadWmsLayer(options, isAddToMap) { |
| | | const layer =L.tileLayer.wms(options.url, { |
| | | layers: options.layers || 'all',//country |
| | | format: options.format || "image/png", |
| | | transparent: options.true || true, |
| | | crs:options.crs || L.CRS.EPSG4326 |
| | | }); |
| | | |
| | | if(isAddToMap) { |
| | | layer.addTo(this.map) |
| | | loadWmsLayer(options, isAddToMap = true) { |
| | | for(let i = 0, len = options.mapConfig.ServiceLayers.length; i < len; ++i) { |
| | | let opt = options.mapConfig.ServiceLayers[i] |
| | | if(opt.type !== 'wms') { |
| | | continue |
| | | } |
| | | |
| | | const layer =this.L.tileLayer.wms(opt.url, opt.option); |
| | | |
| | | if(isAddToMap) { |
| | | layer.addTo(this.map) |
| | | } |
| | | this.tileLayersMap.set(opt.code, layer) |
| | | this.tileLayersArray.push(layer) |
| | | } |
| | | this.tileLayersMap.put(options.name, layer) |
| | | this.tileLayersArray.push(layer) |
| | | |
| | | } |
| | | |
| | | /** |
| | |
| | | * @param {}} options |
| | | * @param {*} isAddToMap |
| | | */ |
| | | loadTileLayer(options, isAddToMap) { |
| | | const layer =L.tileLayer(options.url, { |
| | | layers: options.layers || 'all',//country |
| | | format: options.format || "image/png", |
| | | transparent: options.true || true, |
| | | crs:options.crs || L.CRS.EPSG4326, |
| | | maxZoom: options.maxZoom || 21, |
| | | minZoom: options.minZoom || 1, |
| | | zoomOffset: options.zoomOffset || 0 |
| | | }); |
| | | |
| | | if(isAddToMap) { |
| | | layer.addTo(this.map) |
| | | loadTileLayer(options, isAddToMap = true) { |
| | | for(let i = 0, len = options.mapConfig.ServiceLayers.length; i < len; ++i) { |
| | | let opt = options.mapConfig.ServiceLayers[i] |
| | | if(opt.type !== 'tile') { |
| | | continue |
| | | } |
| | | |
| | | const layer =this.L.tileLayer(opt.url, { |
| | | layers: opt.layers || 'all',//country |
| | | format: opt.format || "image/png", |
| | | transparent: opt.true || true, |
| | | crs:opt.crs || L.CRS.EPSG4326, |
| | | maxZoom: opt.maxZoom || 21, |
| | | minZoom: opt.minZoom || 1, |
| | | zoomOffset: opt.zoomOffset || 0 |
| | | }); |
| | | |
| | | if(isAddToMap) { |
| | | layer.addTo(this.map) |
| | | } |
| | | this.tileLayersMap.set(opt.code , layer) |
| | | this.tileLayersArray.push(layer) |
| | | } |
| | | this.tileLayersMap.put(options.name, layer) |
| | | this.tileLayersArray.push(layer) |
| | | } |
| | | |
| | | hideTileLayer(name){ |