"use script"; //开发环境建议开启严格模式
//系统 功能入口
var guokong_color_list = ['#0EE839', '#FEFE23', '#FD9D00', '#F70F0D', '#8A0B73', '#88041E'];
var guokong_color_nodata = '#C0C0C0';
var guokong_qindex_color_list = { 'pm25': [35, 75, 115, 150, 250], 'pm10': [50, 150, 250, 350, 420], 'no2': [100, 200, 700, 1200, 2340], 'co': [5, 10, 35, 60, 90] };
var guokong_data_list;
function addGuokongLayerDIV(item) {
var guokongLayer = new mars3d.layer.DivLayer({
id: item.id,
pid: item.pid, //图层管理 中使用,父节点id
name: item.name,
style_selected: item.style_selected,
style_options: item.styleoptions,
show: item.show
});
map.addLayer(guokongLayer);
guokongLayer.on(mars3d.EventType.click, function (event) {
console.log("监听layer,单击了矢量对象", event);
console.log(event.graphic?.attr)
var item = event.graphic?.attr;
//haoutil.msg('单击了:' + item['高校名称'])
});
guokongLayer.bindPopup(function (event) {
let item = event.graphic?.attr;
//console.log(item);
var html =
"站点编号:" +
item["code"] +
"
站点名称:" +
item["name"] +
"
数据时间:" +
item["datatime"] +
"
PM2.5:" +
item["PM25"] + "ug/m3" +
"
PM10:" +
item["PM10"] + "ug/m3" +
"
NO2:" +
item["NO2"] + "ug/m3" +
"
CO:" +
item["CO"] + "ug/m3" +
"
SO2:" +
item["SO2"] + "ug/m3" +
"
详细信息
";
return html;
});
guokongLayer.changeColor = function () {
guokongLayer.clear(true);
addGuokongPointResutToLayer(this, guokong_data_list);
}
// add 国控点
getGuokongPointFromServer(guokongLayer);
}
function getGuokongPointFromServer(tmplayer) {
$.getJSON(mars3d.global_variables.nodejs_url_predix + "dataapi/Bdata?bid=get_1001_list&datatype=" + mars3d.global_variables.queryDataType + "&datatime=" + mars3d.global_variables.queryDataTStart + "&qindex=pm25&pageno=1&pagesize=1000", (result) => {
guokong_data_list = result.data.result;
addGuokongPointResutToLayer(tmplayer, result.data.result);
});
}
function addGuokongPointResutToLayer(tmplayer, items) {
for (var i = 0, len = items.length; i < len; i++) {
var item = items[i];
var jd = item.lon;
var wd = item.lat;
var clr = getGuokongPointColor(tmplayer.options.style_selected, item[(tmplayer.options.style_selected).toUpperCase()]);
var graphic = new mars3d.graphic.DivLightPoint({
position: Cesium.Cartesian3.fromDegrees(jd, wd),
style: {
color: clr,
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
highlight: {
type: "divLightPoint",
diffHeight: item[(tmplayer.options.style_selected).toUpperCase()],
material: mars3d.MaterialUtil.createMaterialProperty(mars3d.MaterialType.CircleWave, {
color: clr,
count: 3,
speed: 20,
}),
},
distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 200000), //按视距距离显示
},
show: true,
attr: item,
});
tmplayer.addGraphic(graphic);
}
}
function getGuokongPointColor(qindex, value) {
if (!value || value == null || value == 'null') {
return guokong_color_nodata;
}
for (var key in guokong_qindex_color_list) {
if (key == qindex) {
for (let i = guokong_qindex_color_list[key].length; i > -1; i--) {
if (value > guokong_qindex_color_list[key][i]) {
return guokong_color_list[i + 1];
}
}
}
}
}