import RealDrpLayer from "./realdrplayer"; import RealHDLayer from "./realhdlayer"; import RealHDLayerQ2 from "./realhdlayerQ2"; import RealSkLayer from "./realsklayer"; import RealSkLayerQ2 from "./realsklayerQ2"; import ShyjLayer from "./shyjLayer" import sources from "./sources"; import base from "./base"; import DcpjLayer from "./dcpjlayer"; import ContourLayer from "./contourlayer"; import WataLayer from "./watalayer"; import HighlightLayer from "./highlightlayer"; import AdcdLayer from "./adcdlayer"; import FzdxLayer from "./fzdxlayer"; import TerrainLayer from "./terrainlayer"; import PlaneAreaLayer from "./planarealayer"; import RoadLayer from "./roadlayer"; import RivlLayer from "./rivllayer"; import DcpjDikeLayer from "./dikelayer"; import YuwaiLayer from "./yuwailayer"; import PicStLayer from "./picstlayer"; import PumpLayer from "./tmp/pumplayer"; import BxSkLayer from "./tmp/bxsk"; import BxjcLayer from "./bxjclayer" import SyjcLayer from "./syjclayer" import SljcLayer from "./sljclayer" import ByjcLayer from "./byjclayer" import ShuiZhaLayer from "./shuizhalayer" import BzLayer from "./bzlayer" import SbLayer from "./sblayer" import QdLayer from "./qdlayer" import ShuizhiLayer from "./shuizhilayer" import TrsqLayer from "./trsqlayer" import ShuichangLayer from "./shuichangLayer" import ShuichangQLayer from "./shuichangQLayer" import ShuiyuandiLayer from "./shuiyuandiLayer" import ShuiyuandiQLayer from "./shuiyuandiQLayer" import ShuikuLayer from "./shuikuLayer" import RainDrpLayer from "./rainDrpLayer" import XunchaLayer from "./xunchalayer" class LayerMgr { constructor() { this.layerMap = {}; this.sublayerMap = {}; this.layers = []; } init(layerSettings) { layerSettings = layerSettings || {}; this.layerMap = {}; this.sublayerMap = {}; this.layers = []; this.layers.push(new BxjcLayer()); this.layers.push(new SyjcLayer()); this.layers.push(new SljcLayer()); this.layers.push(new ByjcLayer()); this.layers.push(new ShuiZhaLayer()); this.layers.push(new BzLayer()); this.layers.push(new SbLayer()); this.layers.push(new QdLayer()); this.layers.push(new ShuizhiLayer()); this.layers.push(new TrsqLayer()); this.layers.push(new ShuichangLayer()); this.layers.push(new ShuichangQLayer()); this.layers.push(new ShuiyuandiLayer()); this.layers.push(new ShuiyuandiQLayer()); this.layers.push(new ShuikuLayer()); this.layers.push(new RainDrpLayer()); this.layers.push(new XunchaLayer()); this.layers.push(new ShyjLayer()); // this.layers.push(new RealDrpLayer()); this.layers.push(new RealHDLayer()); this.layers.push(new RealHDLayerQ2()); this.layers.push(new RealSkLayer()); this.layers.push(new RealSkLayerQ2()); this.layers.push(new BxSkLayer()); this.layers.push(new YuwaiLayer()); this.layers.push(new PicStLayer()); this.layers.push(new DcpjLayer('bridge')); this.layers.push(new DcpjLayer('culvert')); this.layers.push(new DcpjLayer('sluice')); this.layers.push(new DcpjLayer('daminfo')); this.layers.push(new DcpjLayer('srstinfo')); this.layers.push(new DcpjLayer('swstinfo')); this.layers.push(new DcpjLayer('stinfo')); this.layers.push(new DcpjLayer('wbrinfo')); this.layers.push(new DcpjDikeLayer()); this.layers.push(new DcpjLayer('danad')); this.layers.push(new DcpjLayer('placement')); this.layers.push(new DcpjLayer('transfer')); this.layers.push(new DcpjLayer('flrvvlg')); this.layers.push(new DcpjLayer('bsnssinfo')); this.layers.push(new WataLayer()); this.layers.push(new ContourLayer()); this.layers.push(new PlaneAreaLayer()); this.layers.push(new HighlightLayer()); this.layers.push(new AdcdLayer()); this.layers.push(new FzdxLayer()); this.layers.push(new TerrainLayer()); this.layers.push(new RoadLayer()); this.layers.push(new RivlLayer()); this.layers.push(new PumpLayer()); for (const layer of this.layers) { layer.init(layerSettings); this.layerMap[layer.getName()] = layer; layer.getSubLayers().forEach(s => { this.sublayerMap[s] = layer; }) } } getMapStyle() { return { version: 8, name: "fxkh", metadata: {}, sprite: `${window.location.origin}/mapbox/sprite`, glyphs: `${window.location.origin}/mapbox/{fontstack}/{range}.pbf`, sources, terrain: this.layerMap.TerrainLayer.getTerrain(), layers: [ base.background, base.zhenGround, base.heatmap, base.gwmap, base.gqmap, this.layerMap.TerrainLayer.getStyle(0), this.layerMap.TerrainLayer.getStyle(1), this.layerMap.RivlLayer.getStyle('water'), this.layerMap.RivlLayer.getStyle('rivl'), sources.绿色区域 && base.plantZone, base.浮桥河流域, base.浮桥河, base.xzj.shape, base.xj.shape, this.layerMap.RoadLayer.getStyle('铁路case'), this.layerMap.RoadLayer.getStyle('高速case'), this.layerMap.RoadLayer.getStyle('国道case'), this.layerMap.RoadLayer.getStyle('高速引路'), this.layerMap.RoadLayer.getStyle('县道'), this.layerMap.RoadLayer.getStyle('省道'), this.layerMap.RoadLayer.getStyle('国道'), this.layerMap.RoadLayer.getStyle('铁路'), this.layerMap.RoadLayer.getStyle('高速'), this.layerMap.WataLayer.getStyle(0), this.layerMap.WataLayer.getStyle(1), this.layerMap.ContourLayer.getStyle(0), this.layerMap.ContourLayer.getStyle(1), this.layerMap.PlaneAreaLayer.getStyle(), this.layerMap.Dcpj_bridgeLayer.getStyle(), this.layerMap.Dcpj_culvertLayer.getStyle(), this.layerMap.Dcpj_sluiceLayer.getStyle(), this.layerMap.Dcpj_daminfoLayer.getStyle(), this.layerMap.Dcpj_srstinfoLayer.getStyle(), this.layerMap.Dcpj_swstinfoLayer.getStyle(), this.layerMap.Dcpj_wbrinfoLayer.getStyle(), this.layerMap.Dcpj_stinfoLayer.getStyle(), this.layerMap.Dcpj_dikeLayer.getStyle('line'), this.layerMap.Dcpj_dikeLayer.getStyle('paling'), this.layerMap.Dcpj_danadLayer.getStyle(), this.layerMap.Dcpj_placementLayer.getStyle(), this.layerMap.Dcpj_transferLayer.getStyle(), this.layerMap.Dcpj_flrvvlgLayer.getStyle(), this.layerMap.Dcpj_bsnssinfoLayer.getStyle(), this.layerMap.PumpLayer.getStyle(), this.layerMap.RealSkLayer.getStyle(), this.layerMap.RealSkLayerQ2.getStyle(), this.layerMap.BxSkLayer.getStyle(), this.layerMap.RealHDLayer.getStyle(), this.layerMap.RealHDLayerQ2.getStyle(), this.layerMap.RealDrpLayer.getStyle(0), this.layerMap.RealDrpLayer.getStyle(1), this.layerMap.YuwaiLayer.getStyle(0), this.layerMap.YuwaiLayer.getStyle(1), this.layerMap.PicStLayer.getStyle(), this.layerMap.AdcdLayer.getStyle(3), this.layerMap.AdcdLayer.getStyle(2), this.layerMap.AdcdLayer.getStyle(1), this.layerMap.AdcdLayer.getStyle(0), this.layerMap.FzdxLayer.getStyle(), this.layerMap.BxjcLayer.getStyle(), this.layerMap.SyjcLayer.getStyle(), this.layerMap.SljcLayer.getStyle(), this.layerMap.ByjcLayer.getStyle(), this.layerMap.ShuiZhaLayer.getStyle(), this.layerMap.BzLayer.getStyle(), this.layerMap.SbLayer.getStyle(), this.layerMap.QdLayer.getStyle(), this.layerMap.ShuizhiLayer.getStyle(), this.layerMap.TrsqLayer.getStyle(), this.layerMap.ShuichangLayer.getStyle(), this.layerMap.ShuichangQLayer.getStyle(), this.layerMap.ShuiyuandiLayer.getStyle(), this.layerMap.ShuiyuandiQLayer.getStyle(), this.layerMap.ShuikuLayer.getStyle(), this.layerMap.RainDrpLayer.getStyle(), this.layerMap.XunchaLayer.getStyle(), this.layerMap.ShyjLayer.getStyle(), // this.layerMap.RivlLayer.getStyle('rivlLabel'), this.layerMap.RoadLayer.getStyle('国道label'), this.layerMap.RoadLayer.getStyle('高速label'), this.layerMap.RoadLayer.getStyle('省道label'), this.layerMap.RoadLayer.getStyle('县道label'), this.layerMap.Dcpj_dikeLayer.getStyle('label'), this.layerMap.HighlightLayer.getStyle(2), this.layerMap.HighlightLayer.getStyle(1), this.layerMap.HighlightLayer.getStyle(0), base.xj.shape2, ].filter(Boolean), created: 0, modified: 0, owner: 'pixii', id: 'dcpj', draft: false } } getLayers() { return this.layers; } getLayer(layerName) { return this.layerMap[layerName]; } getLayerBySublater(layerId) { return this.sublayerMap[layerId]; } setLayerSettings(mapCtrl, settings) { for (const layer of this.layers) { layer.setLayerSettings(mapCtrl, settings); } } } export default LayerMgr;