$.ajaxSetup({ headers: { 'x-access-token': localStorage.getItem("hxzkmars3d") } }); let graphics = []; // 用于存储所有跌落位置的数组 //快速定位 function KuaiSuDingWei() { var pTagid = $("#KuaiSuDingWeiTag").val(); if (pTagid == "") { graphics.forEach(graphic => { graphicLayer.removeGraphic(graphic); // 从图层中移除 }); graphics = []; // 清空标记数组 layer.msg("清空跌落位置!"); // 显示清除成功消息 return false; } if (pTagid && pTagid.includes(',')) { const coordinates = pTagid.split(','); if (coordinates.length === 2) { const lon = parseFloat(coordinates[0]); const lat = parseFloat(coordinates[1]); if (!isNaN(lon) && !isNaN(lat)) { // 经纬度搜索 map.camera.flyTo({ destination: Cesium.Cartesian3.fromDegrees(lon, lat, 500), duration: 3 }); layer.msg("搜索位置成功"); // 显示成功消息 // 在指定位置添加标记 var graphic = new mars3d.graphic.PointEntity({ name: "贴地点", position: new mars3d.LngLatPoint(lon, lat), style: { color: "#ffff00", pixelSize: 10, clampToGround: true, outlineWidth: 0, label: {text: "触发位置", pixelOffsetY: -10}, // 高亮时的样式(默认为鼠标移入,也可以指定type:'click'单击高亮),构造后也可以openHighlight、closeHighlight方法来手动调用 highlight: { type: mars3d.EventType.click, // 默认为鼠标移入高亮,也可以指定click单击高亮 pixelSize: 15, outlineColor: "#ff0000", outlineWidth: 2 } }, attr: {remark: "跌落位置"} }) graphicLayer.addGraphic(graphic) graphics.push(graphic); // 将新标记添加到数组中 } else { layer.msg("不正确的纬度和经度格式。"); } } else { layer.msg("请输入有效纬度和经度。"); } }else if(pTagid && pTagid.includes(';')){ const coordinates = pTagid.split(';'); if (coordinates.length === 2) { const lon = parseFloat(coordinates[0]); const lat = parseFloat(coordinates[1]); if (!isNaN(lon) && !isNaN(lat)) { // 经纬度搜索 map.camera.flyTo({ destination: Cesium.Cartesian3.fromDegrees(lon, lat, 500), duration: 3 }); layer.msg("搜索位置成功"); // 显示成功消息 // 在指定位置添加标记 var graphic = new mars3d.graphic.BillboardEntity({ name: "贴地点", position: new mars3d.LngLatPoint(lon,lat), style: { image: "/hxzkuwb/view/Home/HomeImg/lizhixianweizhi.png", clampToGround: true, outlineWidth: 0, scale: 0.1, // 设置图片的大小为原来的50% label: { pixelOffsetY: -10, addHeight:9, zIndex:99 }, // 高亮时的样式(默认为鼠标移入,也可以指定type:'click'单击高亮),构造后也可以openHighlight、closeHighlight方法来手动调用 }, attr: { remark: "离线时位置" } }) graphicLayer.addGraphic(graphic) graphics.push(graphic); // 将新标记添加到数组中 } else { layer.msg("不正确的纬度和经度格式。"); } } else { layer.msg("请输入有效纬度和经度。"); } }else{ var data = "pTagid="+pTagid $.ajax({ url: "/hxzkuwb/findOnePerson", type: "POST", data: data, async: false, success: function(data) { if (data !="" || data.baoliu2 !="null" || data.baoliu2 !="-1"){ if (data.baoliu2 =="-1"){ layer.msg("该人员未曾上过线") return false; } var targetPoint = { lat: data.baoliu3, // 纬度 lon: data.baoliu2 // 经度 }; // 使用 Mars3D 的 flyTo 方法来移动地图 map.camera.flyTo({ destination: Cesium.Cartesian3.fromDegrees(targetPoint.lon, targetPoint.lat, 500), // 目标点经纬度和视角高度 duration: 3 // 动画持续时间(秒) }); graphicLayer.eachGraphic( (car) => { // 取出对应车辆的轨迹列表 if (car.id == pTagid){ car.circle = show } } ); layer.msg("搜索位置成功!") if(data.ponline == "0"){ data.id = data.ptagid var graphic = new mars3d.graphic.BillboardEntity({ id: data.ptagid, name: "贴地点", position: new mars3d.LngLatPoint(targetPoint.lon, targetPoint.lat), style: { image: "/hxzkuwb/view/Home/HomeImg/lizhixianweizhi.png", clampToGround: true, outlineWidth: 0, scale: 0.1, // 设置图片的大小为原来的50% label: { text: data.pname+" "+data.id, font_size: 14, color: "#ffffff", distanceDisplayCondition: false, clampToGround:false, backgroundOpacity:0.8, }, // 高亮时的样式(默认为鼠标移入,也可以指定type:'click'单击高亮),构造后也可以openHighlight、closeHighlight方法来手动调用 }, attr: data }) graphicLayer.addGraphic(graphic) graphics.push(graphic); // 将新标记添加到数组中 } }else{ layer.msg("请输入有效人员或设备") } }, error: function(xhr, status, error) { layer.msg("请联系管理员") } }); } } function DingWeiColor(){ $("#KuaiSuDingWeiTag").css("border", "#1D8809 2px solid"); // 设置背景颜色为黄色 $("#KuaiSuButton").css("background-color", "#1D8809"); // 设置背景颜色为黄色 } function DingWeiColor1(){ $("#KuaiSuDingWeiTag").css("border", "#4662D9 2px solid"); // 设置背景颜色为黄色 $("#KuaiSuButton").css("background-color", "#4662D9"); // 设置背景颜色为黄色 } //在线人员-离线人员功能 function OnlinePerson(type){ $("#onlinePerson1").empty() if (type == 1){ //在线人员 $.ajax({ async: false, type: 'POST', traditional: true, url: "/hxzkuwb/getGPS", dataType: 'json', data: {}, success: function(data) { // 假设 data 是你传入的数组 for (let i = 0; i < data.length; i++) { let pname = data[i].pname; let power = data[i].ppower; // 如果 pname 超过 4 个字,替换为前 4 个字加上省略号 if (power == null || power == "-1"){ power = "未知" } if (data[i].baoliu19 != "车载标签"){ $("#onlinePerson1").append('



