97 lines
2.2 KiB
JavaScript
97 lines
2.2 KiB
JavaScript
|
|
import AdcdLayer from "./Markers/AdcdLayer";
|
||
|
|
import RealDrpLayer from "./Markers/RealDrpLayer";
|
||
|
|
import HdswLayer from "./Markers/HdswLayer";
|
||
|
|
import GongShuiLayer from "./Markers/GongShuiLayer"
|
||
|
|
import PicStLayer from "./Markers/PicStLayer"
|
||
|
|
import WYLayer from "./Markers/WYLayer"
|
||
|
|
import SYLayer from "./Markers/SYLayer"
|
||
|
|
import SLLayer from "./Markers/SLLayer"
|
||
|
|
import AZDLayer from "./Markers/AZDLayer"
|
||
|
|
import QSYDWLayer from "./Markers/QSYDWLayer";
|
||
|
|
import YHJMHLayer from "./Markers/YHJMHLayer";
|
||
|
|
import ShuiKuLayer from "./Markers/ShuiKuLayer";
|
||
|
|
import ShuiDianZhanLayer from "./Markers/ShuiDianZhanLayer";
|
||
|
|
|
||
|
|
export default class LayerMgr {
|
||
|
|
constructor() {
|
||
|
|
this.layerMap = {};
|
||
|
|
this.layers = [];
|
||
|
|
this.markerLayerMap = {};
|
||
|
|
}
|
||
|
|
|
||
|
|
getLayer(name) {
|
||
|
|
return this.layers.find(o => o.getLayerName() === name);
|
||
|
|
}
|
||
|
|
|
||
|
|
setVisible(visible) {
|
||
|
|
visible = visible || {};
|
||
|
|
|
||
|
|
for (const layerName in visible) {
|
||
|
|
const layerVisible = visible[layerName];
|
||
|
|
const layer = this.getLayer(layerName);
|
||
|
|
if (!layer) {
|
||
|
|
continue;
|
||
|
|
}
|
||
|
|
if (layerVisible != layer.isVisible()) {
|
||
|
|
layer.setVisible(layerVisible);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
setSetting(setting) {
|
||
|
|
setting = setting || {};
|
||
|
|
for (const layer of this.layers) {
|
||
|
|
layer.setSetting(setting);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
_addAppMarkerLayers(dispatch, visible, setting) {
|
||
|
|
const clss = [
|
||
|
|
AdcdLayer,
|
||
|
|
RealDrpLayer,
|
||
|
|
HdswLayer,
|
||
|
|
GongShuiLayer,
|
||
|
|
PicStLayer,
|
||
|
|
WYLayer,
|
||
|
|
SYLayer,
|
||
|
|
SLLayer,
|
||
|
|
AZDLayer,
|
||
|
|
QSYDWLayer,
|
||
|
|
YHJMHLayer,
|
||
|
|
ShuiKuLayer,
|
||
|
|
ShuiDianZhanLayer,
|
||
|
|
];
|
||
|
|
|
||
|
|
for (const cls of clss) {
|
||
|
|
const layer = new cls({ visible: visible[cls.LayerName], setting, dispatch });
|
||
|
|
this.addLayer(layer);
|
||
|
|
this.markerLayerMap[cls.LayerName] = layer;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
sGetMarkerLayerComponentCls(layername) {
|
||
|
|
const layer = this.markerLayerMap[layername];
|
||
|
|
if (!layer) {
|
||
|
|
return null;
|
||
|
|
}
|
||
|
|
|
||
|
|
return layer.getComponentCls();
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
sGetVisibleMarkers(layername, visible, setting, markerList) {
|
||
|
|
const layer = this.markerLayerMap[layername];
|
||
|
|
if (!layer) {
|
||
|
|
return null;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (visible) {
|
||
|
|
return markerList;
|
||
|
|
}
|
||
|
|
|
||
|
|
return null;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|