import LayerMgr from "../layermgr"; import LakeLayer3D from "./layers/LakeLayer3D"; import HLLayer3D from "./layers/HlLayer3D"; import WxqLayer3D from "./layers/WxqLayer3D"; export default class LayerMgr3D extends LayerMgr { constructor(viewer) { super(); this.viewer = viewer; this.highlightEnts = []; } /** * 添加图层 * @param {@BaseLayer} */ addLayer(layer) { this.layers.push(layer); if (layer.onAdd) { layer.onAdd(this.viewer); } return layer; } destroy() { for (const layer of this.layers) { layer.destroy(); } this.viewer.dataSources.removeAll(); this.viewer.entities.removeAll(); this.viewer.imageryLayers.removeAll() this.viewer.destroy(); } frameUpdate() { const tm = Date.now(); for (const layer of this.layers) { if (layer.onFrameUpdate) { layer.onFrameUpdate(tm, this.viewer); } } } /** * */ addAppLayers(dispatch, visible, setting, otherParams) { visible = visible || {}; dispatch.map.setMap(this.viewer); //河流 this.addLayer(new HLLayer3D({ visible: visible[HLLayer3D.LayerName], setting, dispatch })); //湖泊 this.addLayer(new LakeLayer3D({ visible: visible[LakeLayer3D.LayerName], setting, dispatch })); //危险区 this.addLayer(new WxqLayer3D({ visible: visible[WxqLayer3D.LayerName], setting, dispatch })); this._addAppMarkerLayers(dispatch, visible, setting, otherParams); } }