tsg-web/src/views/Home/MapCtrl/Markers/FzdxLayer.js

54 lines
1.1 KiB
JavaScript

// import clone from "clone";
import BaseLayer from "../baselayer";
import FzdxMarker from "./FzdxMarker";
import {FzdxPromise} from "../../../../models/_/base";
import {DcpjPromise} from "../../../../models/_/dcpj";
export default class FzdxLayer extends BaseLayer {
static LayerName = 'FzdxLayer';
constructor(props) {
super(props);
this.highlights = {};
}
getLayerName() {
return FzdxLayer.LayerName;
}
async onAdd() {
const FzdxData = await DcpjPromise("fzdx");
if(FzdxData.length>0){
FzdxData.map(o=>{
o.stcd = o.ADCD
});
}
this._dispatch.runtime.setMarkers({
[this.getLayerName()]: FzdxData || []
});
}
setSetting(setting) {
const highlights = setting?.highlight?.FzdxLayer;
if (highlights !== this._setting?.highlight?.FzdxLayer) {
const setting = {};
if (highlights) {
for (const h of highlights) {
setting[h] = true
}
}
this._dispatch.map.setMarkerSetting({
[this.getLayerName()]: setting,
});
}
this._setting = setting;
}
getComponentCls() {
return FzdxMarker;
}
}