|
$.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('<tr style="height: 40px"><td style="width: 20.5%">'+pname+'</td><td style="width: 20.5%">'+data[i].ptagid+'</td><td style="width: 20.5%">'+power+'%</td><td style="cursor:pointer;"><img src="/hxzkuwb/view/Home/HomeImg/gps.png" onclick=KuaiSuGps("'+data[i].ptagid+'")></td></tr>');
|
}
|
}
|
}
|
});
|
}else if (type == 0){
|
$.ajax({
|
async: false,
|
type: 'POST',
|
traditional: true,
|
url: "/hxzkuwb/getGPSNoOnLine",
|
dataType: 'json',
|
data: {},
|
success: function(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('<tr style="height: 40px"><td style="width: 20.5%">'+pname+'</td><td style="width: 20.5%">'+data[i].ptagid+'</td><td style="width: 20.5%">'+power+'%</td><td style="cursor:pointer;"><img src="/hxzkuwb/view/Home/HomeImg/gps.png" onclick=KuaiSuGps("'+data[i].ptagid+'")></td></tr>');
|
}
|
}
|
}
|
});
|
}else if (type == 3){
|
//在线车辆
|
$.ajax({
|
async: false,
|
type: 'POST',
|
traditional: true,
|
url: "/hxzkuwb/getCarGPSOnLine",
|
dataType: 'json',
|
data: {},
|
success: function(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 = "未知"
|
}
|
$("#onlinePerson1").append('<tr style="height: 40px"><td style="width: 20.5%">'+pname+'</td><td style="width: 20.5%">'+data[i].ptagid+'</td><td style="width: 20.5%">'+power+'%</td><td style="cursor:pointer;"><img src="/hxzkuwb/view/Home/HomeImg/gps.png" onclick=KuaiSuGps("'+data[i].ptagid+'")></td></tr>');
|
}
|
}
|
});
|
}else{
|
//离线车辆
|
$.ajax({
|
async: false,
|
type: 'POST',
|
traditional: true,
|
url: "/hxzkuwb/getCarGPSNoOnLine",
|
dataType: 'json',
|
data: {},
|
success: function(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 = "未知"
|
}
|
$("#onlinePerson1").append('<tr style="height: 40px"><td style="width: 20.5%">'+pname+'</td><td style="width: 20.5%">'+data[i].ptagid+'</td><td style="width: 20.5%">'+power+'%</td><td style="cursor:pointer;"><img src="/hxzkuwb/view/Home/HomeImg/gps.png" onclick=KuaiSuGps("'+data[i].ptagid+'")></td></tr>');
|
}
|
}
|
});
|
}
|
$("#onlinePerson").fadeIn(500)
|
}
|
function KuaiSuGps(id){
|
$("#KuaiSuDingWeiTag").val(id);
|
KuaiSuDingWei()
|
}
|
function CloseOnlinePerson(){
|
$("#onlinePerson").fadeOut(500)
|
layer.msg('关闭成功')
|
}
|
|
|
|
//即使通讯发送功能
|
function PersonName() {
|
var name = $("#username").val();
|
|
var data = "name=" + name;
|
var newData = [];
|
$.post("/hxzkuwb/findPersonSendMsg", data, function(data) {
|
$("#PersonNames").empty()
|
for (let i = 0; i < data.length; i++) {
|
$("#PersonNames").append('<li onclick=XzPersonName("'+data[i].ptagid+'") style="height: 40px;line-height: 40px;padding-left: 3%;cursor:pointer;" class="PersonName">'+data[i].pname +' '+data[i].ptagid +'</li>')
|
}
|
if (data.length == 0){
|
$("#PersonNames").append('<li style="height: 40px;line-height: 40px;padding-left: 3%;cursor:pointer;text-align: center" class="PersonName">暂无此人员</li>')
|
}else{
|
$("#PersonNames").append('<li style="height: 40px;line-height: 40px;padding-left: 3%;cursor:pointer;text-align: center" class="PersonName">已经到底部了</li>')
|
|
}
|
$("#PersonNames").show()
|
if (name == ""){
|
$("#PersonNames").hide()
|
}
|
});
|
}
|
function PersonNameDingWei() {
|
var name = $("#KuaiSuDingWeiTag").val();
|
|
var data = "name=" + name;
|
var newData = [];
|
$.post("/hxzkuwb/findPersonSendMsg", data, function(data) {
|
$("#PersonNameDingWei").empty()
|
for (let i = 0; i < data.length; i++) {
|
$("#PersonNameDingWei").append('<li onclick=XzPersonNameDingWei("'+data[i].ptagid+'") style="cursor:pointer;text-align: center;width: 208px;border-radius: 4px;margin: auto;height: 30px;line-height: 30px;background-color: rgb(255,255,255,0.2);margin-top: 5px">'+data[i].ptagid+' '+data[i].pname+'</li>')
|
}
|
if (data.length == 0){
|
$("#PersonNameDingWei").append('<li style="text-align: center;width: 208px;border-radius: 4px;margin: auto;height: 30px;line-height: 30px;background-color: rgb(255,255,255,0.2);margin-top: 5px">暂无此人员</li>')
|
}else{
|
$("#PersonNameDingWei").append('<li style="text-align: center;width: 208px;border-radius: 4px;margin: auto;height: 30px;line-height: 30px;background-color: rgb(255,255,255,0.2);margin-top: 5px">已经到底部了</li>')
|
|
}
|
$("#PersonNameDingWei").show()
|
if (name == ""){
|
$("#PersonNameDingWei").hide()
|
}
|
});
|
}
|
function XzPersonName(id){
|
$("#username").val(id)
|
$("#PersonNames").hide()
|
}
|
function XzPersonNameDingWei(id){
|
$("#KuaiSuDingWeiTag").val(id)
|
$("#PersonNameDingWei").hide()
|
}
|
function GunSendCs(){
|
$("#SendMsg").fadeOut(500)
|
}
|
|
|
|
|
//人员详细信息功能
|
function acs(id){
|
var data = "id="+id
|
|
$.get("/hxzkuwb/findtIdPerson",data,function (data){
|
if(data.ponline == "1"){
|
data.ponline = "在线"
|
}else{
|
data.ponline = "离线"
|
}
|
|
$("#personImage").empty()
|
$("#personImage").append('<img style="width: 100px;height: 100px" src=/hxzkuwb/Icon/PersonPhoto/'+data.baoliu38+'>')
|
$(".xingming").text(data.pname)
|
$(".xingbie").text(data.psex)
|
$(".bumen").text(data.pdepartment)
|
$(".banben").text(data.baoliu42)
|
$(".leixing").text(data.baoliu19)
|
$(".dianhua").text(data.pphone)
|
$(".kahao").text(data.ptagid)
|
$(".shijian").text(data.pzu)
|
$(".powers").text(data.ppower+"%")
|
$(".jingdu").text(data.baoliu2)
|
$(".weidu").text(data.baoliu3)
|
$(".gaocheng").text(data.baoliu4)
|
$(".zhuangtai1").text(data.baoliu13)
|
$(".xzuobiao").text(data.px)
|
$(".yzuobiao").text(data.py)
|
$(".louceng").text(data.pfloor)
|
$(".zhuangtai2").text(data.ponline)
|
})
|
$("#acd").show()
|
}
|
function ShuaXinShuJu(){
|
var tagid = $(".kahao").text();
|
personMsgtid(tagid)
|
getdateTime()
|
layer.msg('刷新成功')
|
}
|
function getdateTime() {
|
var date = new Date();
|
|
var year = date.getFullYear();
|
var month = date.getMonth() + 1; // 因为月份是从0开始计数,所以需要加1
|
var day = date.getDate();
|
var hours = date.getHours();
|
var minutes = date.getMinutes();
|
var seconds = date.getSeconds();
|
|
// 格式化时间,保证小时、分钟、秒始终有两位数
|
month = formatTime(month);
|
day = formatTime(day);
|
hours = formatTime(hours);
|
minutes = formatTime(minutes);
|
seconds = formatTime(seconds);
|
|
// 更新页面显示时间的元素的内容
|
document.getElementById("personDate").innerHTML ="更新时间:"+ year + "-" + month + "-" + day + " " + hours + ":" + minutes + ":" + seconds;
|
}
|
function formatTime(time) {
|
if (time < 10) {
|
time = "0" + time;
|
}
|
return time;
|
}
|
function GuanMsg() {
|
$("#acd").hide()
|
}
|