"use script"; //开发环境建议开启严格模式
//系统 功能入口
var userid = '2';
var Vec_annoTileLayer;
var Img_annoTileLayer;
var queryDataType = 'day';
var queryDataTStart = getDefaultDateTime(); // format "yyyy-MM-dd hh:00:00"
var queryDataTEnd = '';
var layer_1001_guokong;
var layer_1002_weizhan;
var layer_1003_jiance;
var layer_1004_taxi;
var layer_1005_region;
var layer_1006_roadsection;
var layer_1007_jiedao;
function getDefaultDateTime() {
var now = new Date;
now.setMinutes(now.getMinutes() - 60);
return now.getFullYear + '-' + (now.getMonth() + 1) + '-' + now.getDate() + ' ' + now.getHours() + ':00:00';
}
function addTDTAnnoLayer() {
Img_annoTileLayer = new mars3d.layer.TdtLayer({
name: "影像注记",
layer: "img_z",
key: mars3d.Token.tiandituArr,
});
Img_annoTileLayer.show = false;
Img_annoTileLayer.pid = 50;
map.addLayer(Img_annoTileLayer);
Vec_annoTileLayer = new mars3d.layer.TdtLayer({
name: "矢量图注记",
layer: "vec_z",
key: mars3d.Token.tiandituArr,
});
Vec_annoTileLayer.show = false;
Vec_annoTileLayer.pid = 50;
map.addLayer(Vec_annoTileLayer);
}
function addguokongLayers() {
layer_1001_guokong = new mars3d.layer.DivLayer({
name: '国控点',
pid: 99, //图层管理 中使用,父节点id
show: false
});
map.addLayer(layer_1001_guokong);
layer_1001_guokong.on(mars3d.EventType.click, function (event) {
console.log("监听layer,单击了矢量对象", event);
console.log(event.graphic?.attr)
var item = event.graphic?.attr;
//haoutil.msg('单击了:' + item['高校名称'])
});
layer_1001_guokong.bindPopup(function (event) {
let item = event.graphic?.attr;
var html =
"站点名称:" +
item["SiteName"] +
"
分区:" +
item["RegionName"] +
"
AQI:" +
item["AQI"] +
"
PM25:" +
item["PM25"] + "ug/m3"+
"
SO2:" +
item["SO2"] + "ug/m3"+
"
O3:" +
item["O31"] + "ug/m3"+
"
详细信息
";
return html;
});
// add 国控点
$.getJSON("http://58.246.27.194:7012/dataapi/Bdata?bid=get_1001_list_hour&datatime=2021-09-06%2012:00:00&qindex=pm25", (result) => {
var pointColorArr = ["#f33349","#fff000","#33347f"];
for (var i = 0, len = result.data.result.length; i < len; i++) {
var item = result.data.result[i];
var jd = result.data.result[i].Longitude;
var wd = result.data.result[i].Latitude;
var clr = pointColorArr[i % pointColorArr.length];
var graphic = new mars3d.graphic.DivGraphic({
position: Cesium.Cartesian3.fromDegrees(jd, wd),
style: {
html: '',
//html: '',
distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 200000), //按视距距离显示
},
attr: item,
});
layer_1001_guokong.addGraphic(graphic);
}
});
}
function addRoadLayer() {
//方式2:在创建地球后调用addLayer添加图层(直接new对应type类型的图层类)
layer_1006_roadsection = new mars3d.layer.WmsLayer({
pid: 99,
name: "上海市道路",
type: "wms",
url: "http://58.246.27.194:7011/geoserver/konglu_58/wms",
layers: "konglu_58:v_test",
crs: "EPSG:4326",
parameters: {
"transparent": "true",
"format": "image/png",
"sld": "http://127.0.0.1:8080/geoserver/styles/vis_road_bd_device_day_wms_dynamic_cat.sld"
},
center: { "lat": 31.162801, "lng": 121.543277, "alt": 50000, "heading": 359.2, "pitch": -39.5 },
getFeatureInfoParameters: {
feature_count: 10
},
//单击高亮及其样式
highlight: {
type: "wallP",
diffHeight: 300,
material: mars3d.MaterialUtil.createMaterial(mars3d.MaterialType.LineFlow, {
image: "img/textures/fence.png",
color: "#ffff00",
speed: 10, //速度,建议取值范围1-100
axisY: true,
}),
},
popup: "all",
show: false,
flyTo: true
});
//单击事件
layer_1006_roadsection.on(mars3d.EventType.click, function (event) {
console.log("单击了矢量数据,共" + event.features.length + "条", event);
});
map.addLayer(layer_1006_roadsection);
}
function addMaskShanghai(){
//geojson 合肥边界线
geoJsonLayer = new mars3d.layer.GeoJsonLayer({
url: "//data.mars3d.cn/file/geojson/areas/340100.json",
mask: true, //标识为遮罩层【重点参数】
symbol: {
styleOptions: {
fill: true,
color: "rgb(2,26,79)",
opacity: 0.9,
outline: false,
outlineColor: "#39E09B",
outlineWidth: 8,
outlineOpacity: 0.8,
arcType: Cesium.ArcType.GEODESIC,
clampToGround: true,
},
},
});
map.addLayer(geoJsonLayer);
}
function addFunctionalLayers() {
// add mask
//addMaskShanghai();
addTDTAnnoLayer();
// 添加业务图层
addguokongLayers();
addRoadLayer();
}
function showDetail(layerid,itemCode){
haoutil.msg('单击了:'+layerid+','+itemCode);
if (mars3d.widget.isActivate("widgetsTS/qyDetailsView/widget.js")){
var detailWiget = mars3d.widget.getClass("widgetsTS/qyDetailsView/widget.js");
detailWiget.showSPJK();
}else{
mars3d.widget.activate({
uri: "widgetsTS/qyDetailsView/widget.js",
dataQy: itemCode,
});
}
}