53 lines
1.2 KiB
JavaScript
53 lines
1.2 KiB
JavaScript
import BaseLayer from "../baselayer";
|
|
import AdcdMarker from "./AdcdMarker";
|
|
import {AgnpPromise, xzList} from "../../../../models/_/common";
|
|
|
|
export default class AdcdLayer extends BaseLayer {
|
|
static LayerName = 'AdcdLayer';
|
|
|
|
constructor(props) {
|
|
super(props);
|
|
|
|
this.highlights = {};
|
|
}
|
|
|
|
getLayerName() {
|
|
return AdcdLayer.LayerName;
|
|
}
|
|
|
|
async onAdd() {
|
|
const agnp = await AgnpPromise.get();
|
|
const xzLabel = agnp.filter(o => o.LEVEL === 4 || o.LEVEL === 5 || o.LEVEL === 6).map(o => ({
|
|
...o,
|
|
stcd: o.OBJECTID,
|
|
level: o.LEVEL,
|
|
id: o.OBJECTID,
|
|
type: 'label'
|
|
}))
|
|
this._dispatch.runtime.setMarkers({
|
|
[this.getLayerName()]: xzLabel || []
|
|
});
|
|
}
|
|
|
|
setSetting(setting) {
|
|
const highlights = setting?.highlight?.AdcdLayer;
|
|
if (highlights !== this._setting?.highlight?.AdcdLayer) {
|
|
const setting = {};
|
|
if (highlights) {
|
|
for (const h of highlights) {
|
|
setting[h] = true
|
|
}
|
|
}
|
|
this._dispatch.map.setMarkerSetting({
|
|
[this.getLayerName()]: setting,
|
|
});
|
|
}
|
|
|
|
this._setting = setting;
|
|
}
|
|
|
|
getComponentCls() {
|
|
return AdcdMarker;
|
|
}
|
|
}
|