125 lines
2.7 KiB
JavaScript
125 lines
2.7 KiB
JavaScript
import clone from "clone";
|
||
import { PicStPromise, TestPicStPromise } from "../../../../models/_/real";
|
||
import { parseGeoJSON } from "../../../../utils/tools";
|
||
import { InfoPopNames } from "../../InfoPops";
|
||
import BaseLayer from "./baselayer";
|
||
|
||
const SourceName = '渗流监测';
|
||
|
||
const ShapeStyle = {
|
||
id: SourceName,
|
||
type: 'symbol',
|
||
source: SourceName,
|
||
layout: {
|
||
'icon-allow-overlap': true,
|
||
'text-allow-overlap': true,
|
||
'icon-image': '渗流监测',
|
||
'icon-size': [
|
||
'interpolate', ['linear'], ['zoom'],
|
||
10, 0.4,
|
||
14, 0.8,
|
||
],
|
||
|
||
'text-allow-overlap': true,
|
||
'text-size': [
|
||
'interpolate', ['linear'], ['zoom'],
|
||
10, 10,
|
||
14, 14,
|
||
],
|
||
'text-font': ['Roboto Black'],
|
||
'text-field': [
|
||
'step',
|
||
['zoom'],
|
||
'',
|
||
12, ['get', 'stnm']
|
||
],
|
||
'text-anchor': 'top',
|
||
'text-offset': [0, 1],
|
||
|
||
'visibility': 'none',
|
||
},
|
||
paint: {
|
||
'text-color': '#fff'
|
||
}
|
||
};
|
||
|
||
|
||
export default class SljcLayer extends BaseLayer {
|
||
|
||
static LayerName = 'SljcLayer';
|
||
|
||
static SourceName = SourceName;
|
||
|
||
getStyle() {
|
||
|
||
const ret = clone(ShapeStyle);
|
||
this._setStyleVisibility(ret);
|
||
return ret;
|
||
|
||
}
|
||
|
||
getName() {
|
||
return SljcLayer.LayerName;
|
||
}
|
||
|
||
getSubLayers() {
|
||
return [ShapeStyle.id];
|
||
}
|
||
|
||
async doRefreshLayer(mapCtrl) {
|
||
const ms = mapCtrl.getSource(SourceName);
|
||
|
||
let data =
|
||
// await PicStPromise.get();
|
||
[{
|
||
"cd": "1",
|
||
"cd_nm": "WE",
|
||
"ch": "1",
|
||
"res_reg_cd": "42118140042-A4",
|
||
"res_cd": "42118140004",
|
||
"res_nm": "永丰水库",
|
||
"res_lon": 115.05541,
|
||
"res_lat": 31.11106,
|
||
"province_cd": "420000000000",
|
||
"province_nm": "湖北省",
|
||
"city_cd": "421100000000",
|
||
"city_nm": "黄冈市",
|
||
"county_cd": "421181000000",
|
||
"county_nm": "麻城市",
|
||
"town_cd": "421181003000",
|
||
"town_nm": "南湖办事处",
|
||
"danger_stat": "非病险水库",
|
||
"bas_guid": "鄂东五河片区",
|
||
"label": "2023高标准",
|
||
"eng_scal": "小(1)型",
|
||
"value": 0.3,
|
||
"diff_value": -0.02,
|
||
"trend": -1,
|
||
"dt": "2025-05-20",
|
||
"is_has_data": "y",
|
||
"max_value": 0.3
|
||
}].map((item)=>{
|
||
const obj = {...item}
|
||
obj.lgtd = item.res_lon
|
||
obj.lttd = item.res_lat
|
||
return obj
|
||
})
|
||
ms.setData(parseGeoJSON(data));
|
||
return true;
|
||
}
|
||
|
||
getFeatureTip(record) {
|
||
return record.stnm;
|
||
}
|
||
|
||
featureClicked(properties, dispatch) {
|
||
dispatch?.runtime.setInfoDlg({ layerId: 'SljcLayer', properties: properties })
|
||
// dispatch.runtime.setFeaturePop({
|
||
// type: InfoPopNames.PicStPop,
|
||
// properties,
|
||
// coordinates: [properties.lgtd, properties.lttd],
|
||
// offsetPop: true,
|
||
// });
|
||
}
|
||
}
|