92 lines
2.6 KiB
JavaScript
92 lines
2.6 KiB
JavaScript
import LayerMgr from "../layermgr";
|
|
import BouaLayer3D from "./layers/BouaLayer3D";
|
|
import RainLayer3D from "./layers/RainLayer3D";
|
|
import RainLayer3DRadar from "./layers/RainLayer3D-radar";
|
|
import RainLayer3DRh from "./layers/RainLayer3D-rh";
|
|
|
|
import HLLayer3D from "./layers/HLLayer3D";
|
|
import XLYLayer3D from "./layers/XLYLayer3D";
|
|
|
|
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.entities.removeAll();
|
|
|
|
this.viewer.imageryLayers.removeAll()
|
|
}
|
|
|
|
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 BouaLayer3D({ visible: visible[BouaLayer3D.LayerName], setting, dispatch }));
|
|
|
|
// if(visible[RainLayer3D.LayerName]){
|
|
// this.addLayer(new RainLayer3D({ visible: visible[RainLayer3D.LayerName], setting, dispatch }));
|
|
// }else{
|
|
// //this.viewer.imageryLayers.removeAll();
|
|
// this.viewer.entities.removeAll();
|
|
// }
|
|
// if(visible[RainLayer3DRadar.LayerName]){
|
|
// this.addLayer(new RainLayer3DRadar({ visible: visible[RainLayer3DRadar.LayerName], setting, dispatch }));
|
|
// }else{
|
|
// //this.viewer.imageryLayers.removeAll();
|
|
// this.viewer.entities.removeAll();
|
|
// }
|
|
// if(visible[RainLayer3DRh.LayerName]){
|
|
// this.addLayer(new RainLayer3DRh({ visible: visible[RainLayer3DRh.LayerName], setting, dispatch }));
|
|
// }else{
|
|
// //this.viewer.imageryLayers.removeAll(); RainLayer3DRh
|
|
// this.viewer.entities.removeAll();
|
|
// }
|
|
|
|
// if(visible[HLLayer3D.LayerName]){
|
|
// this.addLayer(new HLLayer3D({ visible: visible[HLLayer3D.LayerName], setting, dispatch }));
|
|
// }else{
|
|
// //this.viewer.imageryLayers.removeAll();
|
|
// this.viewer.entities.removeAll();
|
|
// }
|
|
// if(visible[XLYLayer3D.LayerName]){
|
|
// this.addLayer(new XLYLayer3D({ visible: visible[XLYLayer3D.LayerName], setting, dispatch }));
|
|
// }else{
|
|
// //this.viewer.imageryLayers.removeAll();
|
|
// this.viewer.entities.removeAll();
|
|
// }
|
|
|
|
this._addAppMarkerLayers(dispatch, visible, setting, otherParams);
|
|
}
|
|
}
|