"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"] +
|
"<br />站点名称:" +
|
item["name"] +
|
"<br />数据时间:" +
|
item["datatime"] +
|
"<br />PM2.5:" +
|
item["PM25"] + "ug/m3" +
|
"<br />PM10:" +
|
item["PM10"] + "ug/m3" +
|
"<br />NO2:" +
|
item["NO2"] + "ug/m3" +
|
"<br />CO:" +
|
item["CO"] + "ug/m3" +
|
"<br />SO2:" +
|
item["SO2"] + "ug/m3" +
|
"<br /><br /><p><a href='#' onclick='javascript:showDetail(1001,\"" + item["code"] + "\")' >详细信息</a></p>";
|
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];
|
}
|
}
|
}
|
}
|
}
|