<%--
|
Created by IntelliJ IDEA.
|
User: Dell
|
Date: 2023/12/20
|
Time: 9:48
|
To change this template use File | Settings | File Templates.
|
--%>
|
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
|
<html>
|
<head>
|
<title>Title</title>
|
<script src="https://developer.fengmap.com/fmAPI/demos/libs/js/fengmap.map.min.js"></script>
|
<script src="https://developer.fengmap.com/fmAPI/demos/libs/js/jquery-3.6.1.min.js"></script>
|
<script src="https://developer.fengmap.com/fmAPI/demos/libs/layui/layui.js"></script>
|
<script src="../JS/FengMapUi.js"></script>
|
<script src="https://developer.fengmap.com/fmAPI/demos/libs/js/imageBase64.js"></script>
|
<link rel="stylesheet" href="https://developer.fengmap.com/fmAPI/demos/libs/layui/css/layui.css">
|
<link rel="stylesheet" href="https://developer.fengmap.com/fmAPI/demos/libs/css/font/iconfont.css">
|
<link rel="stylesheet" href="https://developer.fengmap.com/fmAPI/demos/libs/css/index.css">
|
<link rel="stylesheet" href="https://developer.fengmap.com/fmAPI/demos/Search/mapReconnaissance/css/index.css">
|
<link rel="stylesheet" href="https://developer.fengmap.com/fmAPI/demos/Marker/FMDomMarker/css/index.css">
|
<script src="https://developer.fengmap.com/fmAPI/demos/Marker/FMDomMarker/js/index.js"></script>
|
<style>
|
.box {
|
|
}
|
</style>
|
</head>
|
<body>
|
<%--<div class="layui-container">--%>
|
<%-- <button class="layui-btn tileLayer-selector fm-btn">--%>
|
<%-- 切换瓦片底图--%>
|
<%-- <i class="layui-icon layui-icon-down layui-font-12"></i>--%>
|
<%-- </button>--%>
|
<%-- <button type="button" id="init" class="layui-btn" onclick="initFilterLayer()">设置滤镜</button>--%>
|
<%--</div>--%>
|
<div id="fengmap"></div>
|
</body>
|
<%--<script>--%>
|
<%-- var map;--%>
|
|
<%-- var tileLayer;--%>
|
|
<%-- var flag;--%>
|
|
<%-- var objType = {--%>
|
<%-- 'tilelayer': fengmap.FMTileProvider.AMAP_VECTOR, //百度矢量图替换BAIDU_VECTOR--%>
|
<%-- 'tilelayerAMAP': fengmap.FMTileProvider.AMAP_SATELLITE, //百度卫星图替换BAIDU_SATELLITE--%>
|
<%-- }--%>
|
|
<%-- var options = {--%>
|
<%-- container: document.getElementById("fengmap"),--%>
|
<%-- appName: 'map1',--%>
|
<%-- key: '09facc4ee52d1844bc1e561dad5abf59',--%>
|
<%-- mapID: '1732234539564851202',--%>
|
<%-- themeID: '1717913720470753281',--%>
|
<%-- mapURL: '../fengmap/data/',--%>
|
<%-- themeURL: '../fengmap/data/theme/',--%>
|
<%-- minTiltAngle: 0,--%>
|
<%-- mapZoom: 16,--%>
|
<%-- backgroundColor:'#001133',--%>
|
<%-- }--%>
|
|
<%-- /* 初始化地图 */--%>
|
<%-- function InitMap(options) {--%>
|
<%-- const promise = new Promise((resolve, reject) => {--%>
|
<%-- if (map != null) {--%>
|
<%-- map.dispose();--%>
|
<%-- map = null;--%>
|
<%-- }--%>
|
<%-- map = new fengmap.FMMap(options);--%>
|
<%-- map.on('loaded', function () {--%>
|
<%-- SetTileLayerMode('tilelayer')--%>
|
<%-- resolve('地图初始化完成!');--%>
|
<%-- });--%>
|
<%-- });--%>
|
<%-- return promise;--%>
|
<%-- };--%>
|
|
<%-- // 设置底图--%>
|
<%-- function SetTileLayerMode(type) {--%>
|
<%-- if (tileLayer != null) {--%>
|
<%-- tileLayer.remove(map);--%>
|
<%-- tileLayer = null;--%>
|
<%-- }--%>
|
<%-- tileLayer = new fengmap.FMTileLayer({--%>
|
<%-- mode: objType[type],--%>
|
<%-- offset: 1.0,--%>
|
<%-- replaceColor: "#FCF9F2", //大比例尺下,不显示瓦片底图时,显示的背景颜色--%>
|
<%-- replaceOpacity: 0.9, //大比例尺下,不显示瓦片底图时,显示的背景颜色透明度--%>
|
<%-- filter: fengmap.FMTileFilter.NONE, //滤镜枚举,默认为fengmap.FMTileFilter.NONE,FMTileFilter类中预置了6种滤镜;也可以自定义滤镜(如果值为fengmap.FMTileFilter.CUSTOM,需要配置filterCustomization,自定义参数设置参考文档)--%>
|
<%-- })--%>
|
<%-- tileLayer.addTo(map);--%>
|
|
<%-- setFilterDisabled();--%>
|
<%-- }--%>
|
|
<%-- // 显示/隐藏--%>
|
<%-- function toggleTileLayerVisibility() {--%>
|
<%-- if (!tileLayer) return--%>
|
|
<%-- tileLayer.visible = !tileLayer.visible;--%>
|
|
<%-- setFilterDisabled(true);--%>
|
<%-- }--%>
|
|
<%-- // 删除--%>
|
<%-- function removeTileLayer() {--%>
|
<%-- if (!tileLayer) return--%>
|
|
<%-- tileLayer.remove(map);--%>
|
<%-- tileLayer = null;--%>
|
<%-- setFilterDisabled(false, true);--%>
|
<%-- }--%>
|
|
<%-- function setFilterDisabled(isToggle, isDelete) {--%>
|
<%-- if (isToggle) {--%>
|
<%-- let btn = document.getElementById('init');--%>
|
<%-- if (!btn) return--%>
|
<%-- if (btn.classList.value.indexOf('layui-btn-disabled') > -1) {--%>
|
<%-- btn.removeAttribute('disabled');--%>
|
<%-- btn.classList.remove('layui-btn-disabled');--%>
|
<%-- }--%>
|
<%-- else {--%>
|
<%-- btn.setAttribute('disabled', true);--%>
|
<%-- btn.classList.add('layui-btn-disabled');--%>
|
<%-- }--%>
|
<%-- }--%>
|
<%-- else {--%>
|
<%-- let btn = document.getElementById('init');--%>
|
<%-- if (btn) {--%>
|
<%-- if (isDelete) {--%>
|
<%-- btn.setAttribute('disabled', true);--%>
|
<%-- btn.classList.add('layui-btn-disabled');--%>
|
<%-- }--%>
|
<%-- else {--%>
|
<%-- btn.classList.remove('layui-btn-disabled');--%>
|
<%-- btn.removeAttribute('disabled');--%>
|
<%-- }--%>
|
<%-- }--%>
|
<%-- }--%>
|
<%-- updateUI();--%>
|
<%-- }--%>
|
|
<%-- //滤镜--%>
|
<%-- function FilterHandleClick(id, value) {--%>
|
<%-- if (!tileLayer) return--%>
|
|
<%-- tileLayer.setFilter(id, value);--%>
|
<%-- }--%>
|
|
<%-- //初始化滤镜--%>
|
<%-- function initFilterLayer() {--%>
|
<%-- // 修改设置面板展示状态--%>
|
<%-- updateUI(true);--%>
|
<%-- }--%>
|
|
<%-- UI.Init().then(() => {--%>
|
<%-- UI.Loading();--%>
|
<%-- return InitMap(options);--%>
|
<%-- }).then(() => {--%>
|
<%-- UI.Completed();--%>
|
<%-- });;--%>
|
|
<%--</script>--%>
|
|
|
<script>
|
function attributeCount(obj) {
|
var count = 0;
|
for (var i in obj) {
|
if (obj.hasOwnProperty(i)) { // 建议加上判断,如果没有扩展对象属性可以不加
|
count++;
|
}
|
}
|
return count;
|
}
|
|
function getRealPositionsanwei() {
|
var realposition = [];
|
$.ajax({
|
async: false,
|
type: 'POST',
|
url: "/hxzkuwb/getRealPositionsan2.do",
|
dataType: 'json',
|
success: function (data) {
|
for (var i = 0; i < data.length; i++) {
|
|
//playMark[id,name,power,life,x,y,time]
|
realposition.push([data[i].tagid, data[i].name, data[i].power, data[i].life,data[i].baoliu2,data[i].baoliu3,data[i].time, data[i].fence == 1 || data[i].sos == 1, data[i].sousuo, data[i].shipin, data[i].inkaoqing, data
|
[i].jiao, data[i].baoliu24, data[i].baoliu23, data[i].sex, data[i].minzu, data[i].phone, data[i].power, data[i].bumen, data[i].baoliu19,data[i].image,data[i].bumencolor,data[i].baoliu35])
|
}
|
},
|
});
|
return realposition
|
};
|
|
function FindShowJiZhan() {
|
var realposition = [];
|
$.ajax({
|
async: false,
|
type: 'Get',
|
url: "/hxzkuwb/FindSanWeiJiZhan",
|
dataType: 'json',
|
success: function (data) {
|
realposition = data;
|
},
|
});
|
return realposition
|
};
|
|
function FindShowWangGuan() {
|
var realposition = [];
|
$.ajax({
|
async: false,
|
type: 'Get',
|
url: "/hxzkuwb/FindGateWayList",
|
dataType: 'json',
|
success: function (data) {
|
realposition = data;
|
},
|
});
|
return realposition
|
};
|
|
|
|
|
function getAnchorInfo2() {
|
var online_anchorList = [];
|
var offline_anchorList = [];
|
$.ajax({
|
async: false,
|
type: 'POST',
|
url: "/hxzkuwb/getAnchorInfo_all.do",
|
dataType: 'json',
|
success: function (data) {
|
for (var i = 0; i < data.length; i++) {
|
tmplist = [data[i].anchorid, data[i].posx, data[i].posy, data[i].posz, data[i].GreateTime];
|
if (data[i].anchormode == "1") {
|
online_anchorList.push(tmplist);
|
} else if (data[i].anchormode == "0") {
|
offline_anchorList.push(tmplist);
|
}
|
}
|
}
|
});
|
return [online_anchorList, offline_anchorList]
|
};
|
|
var JianZhuName = "";
|
var sousuopd = false;
|
var biaoqians = new Object();
|
var biaoqianids = new Object();
|
var biaoqianidc = new Object();
|
var onlineanchor = new Object();
|
var onlineanchor1 = new Object();
|
var offlineanchor = new Object();
|
var oo = 0;
|
var bm_offView = 0;//是否离线不显示图标
|
var bm_kaoqing = 0;//是否出考勤区域消失
|
var customSwitch1 = false;
|
var customSwitch2 = false;
|
var customSwitch3 = true;
|
var customSwitch4 = false;
|
var customSwitch5 = false;
|
var anchors = getAnchorInfo2();
|
var onlineAnchorList = anchors[0];
|
var offlineAnchorList = anchors[1];
|
var anckicon_on = '/Home/HomeImg/基站在线.png';
|
var anckicon_off = '/Home/HomeImg/基站离线.png';
|
var map;
|
var circle;
|
var mapid = 1732234539564851202 ;
|
var themeid = 1717913720470753281;
|
var type = 15;
|
var markerpd = false;
|
var scale;
|
var sosalist = [];
|
|
//坐标转换数据
|
var origon = [{ x: 0, y: 0 },{ x: 0, y: 0 },{ x: 0, y: 0 }];
|
|
var target = [{ x: 0, y: 0 },{ x: 0, y: 0 },{ x: 0, y: 0 }];
|
|
|
var coordsTransformer = new fengmap.FMCoordsTransformer({ origon: origon, target: target });
|
function checkedfor() {
|
var personlist;
|
if (type == 0) {
|
personlist = getRealPositionsanwei();
|
} else {
|
personlist = getRealPositionsanwei();
|
}map.getLevel();
|
if (personlist.length != 0) {
|
if (markerpd) {
|
for (var i = 0; i < personlist.length; i++) {
|
if (biaoqianids[personlist[i][0]] != null) {
|
biaoqianids[personlist[i][0]].text = "";
|
if (customSwitch1) {
|
biaoqianids[personlist[i][0]].text = " " + personlist[i][1] + " " + personlist[i][0] + " " + personlist[i][2] + "% ";
|
biaoqianids[personlist[i][0]].update();
|
} else {
|
if (customSwitch3) {
|
biaoqianids[personlist[i][0]].text = " " + personlist[i][1] + " ";
|
}
|
if (customSwitch4) {
|
biaoqianids[personlist[i][0]].text += " " + personlist[i][0] + " ";
|
}
|
if (customSwitch5) {
|
biaoqianids[personlist[i][0]].text += " " + personlist[i][2] + "% ";
|
}
|
biaoqianids[personlist[i][0]].update();
|
}
|
if (biaoqianids[personlist[i][0]].text == "" || biaoqianids[personlist[i][0]].text == null) {
|
biaoqianids[personlist[i][0]].visible = false;
|
} else {
|
if (((bm_offView == '1' && personlist[i][3] == '1') || (bm_offView == '0')) && ((bm_kaoqing == '1' && personlist[i][10] == '1') || (bm_kaoqing == '0'))) {
|
biaoqianids[personlist[i][0]].visible = true;
|
}
|
}
|
} else {
|
if (personlist[i][3] == "1") {
|
var markertext;
|
var xy;
|
if (type == 0) {
|
xy = coordsTransformer.transform({ x: personlist[i][4], y: personlist[i][5] });
|
|
} else {
|
xy = fengmap.FMCalculator.latlngToMapCoordinate({x: personlist[i][4],y: personlist[i][5]})
|
|
}
|
|
if (customSwitch1) {
|
markertext = " " + personlist[i][1] + " " + personlist[i][0] + " " + personlist[i][2] + "% ";
|
} else {
|
if (customSwitch3) {
|
markertext = " " + personlist[i][1] + " ";
|
}
|
if (customSwitch4) {
|
markertext += " " + personlist[i][0] + " ";
|
}
|
if (customSwitch5) {
|
markertext += " " + personlist[i][2] + "% ";
|
}
|
}
|
if (markertext != "" && markertext != null) {
|
var lmarker = new fengmap.FMTextMarker({
|
text: " " + personlist[i][1] + " ",
|
height: +personlist[i][12] + 9,
|
x: xy.x,
|
y: xy.y,
|
textAlign: fengmap.FMTextAlign.Center,
|
fontsize: 18,
|
fillColor: '#ffffff',
|
strokeColor: '#ffffff',
|
plateColor: '60,141,196',
|
plateStrokeColor: '60,141,196',
|
strokeWidth: 0,
|
})
|
var level = map.getLevel();
|
var floor = map.getFloor(level);
|
lmarker.addTo(floor);
|
biaoqianids[personlist[i][0]] = lmarker;
|
}
|
}
|
}
|
}
|
} else {
|
for (var i = 0; i < personlist.length; i++) {
|
if (biaoqianids[personlist[i][0]] != null) {
|
biaoqianids[personlist[i][0]].remove();
|
delete biaoqianids[personlist[i][0]];
|
}
|
if (biaoqians[personlist[i][0]] != null) {
|
var windowHtml;
|
var xy;
|
if (type == 0) {
|
xy = coordsTransformer.transform({ x: personlist[i][4], y: personlist[i][5] });
|
} else {
|
xy = fengmap.FMCalculator.latlngToMapCoordinate({x: personlist[i][4],y: personlist[i][5]})
|
|
}
|
// if (customSwitch1) {
|
// windowHtml = '<div class="fm-control-popmarker2" style="height: 94px;top: -100px;">';
|
// windowHtml += `<span class="fm-control-popmarker-bot2"></span>`;
|
// windowHtml += `<span class="fm-control-popmarker-top2"></span>`;
|
// windowHtml += `<div id="info">`;
|
// windowHtml += `<div class="content"><a> 姓名:` + personlist[i][0] + `</a><br>
|
// <a> 编号:`+ personlist[i][0] + `</a><br>
|
// <a> 电量:`+ personlist[i][2] + `</a>
|
// </div>`;
|
// windowHtml += `</div>`;
|
// windowHtml += `</div>`;
|
// } else {
|
// if (customSwitch3) {
|
// if (customSwitch4) {
|
// if (customSwitch5) {
|
// windowHtml = '<div class="fm-control-popmarker2" style="height: 94px;top: -100px;">';
|
// windowHtml += `<span class="fm-control-popmarker-bot2"></span>`;
|
// windowHtml += `<span class="fm-control-popmarker-top2"></span>`;
|
// windowHtml += `<div id="info">`;
|
// windowHtml += `<div class="content"><a> 姓名:` + personlist[i][0] + `</a><br>
|
// <a> 编号:`+ personlist[i][0] + `</a><br>
|
// <a> 电量:`+ personlist[i][2] + `</a>
|
// </div>`;
|
// windowHtml += `</div>`;
|
// windowHtml += `</div>`;
|
// } else {
|
// windowHtml = '<div class="fm-control-popmarker2" style="height: 72px;top: -78px;">';
|
// windowHtml += `<span class="fm-control-popmarker-bot2"></span>`;
|
// windowHtml += `<span class="fm-control-popmarker-top2"></span>`;
|
// windowHtml += `<div id="info">`;
|
// windowHtml += `<div class="content"><a> 姓名:` + personlist[i][0] + `</a><br>
|
// <a> 编号:`+ personlist[i][0] + `</a><br>
|
// </div>`;
|
// windowHtml += `</div>`;
|
// windowHtml += `</div>`;
|
// }
|
// } else {
|
// if (customSwitch5) {
|
// windowHtml = '<div class="fm-control-popmarker2" style="height: 72px;top: -78px;">';
|
// windowHtml += `<span class="fm-control-popmarker-bot2"></span>`;
|
// windowHtml += `<span class="fm-control-popmarker-top2"></span>`;
|
// windowHtml += `<div id="info">`;
|
// windowHtml += `<div class="content"><a> 姓名:` + personlist[i][1] + `</a><br>
|
// <a> 电量:`+ personlist[i][2] + `</a>
|
// </div>`;
|
// windowHtml += `</div>`;
|
// windowHtml += `</div>`;
|
// } else {
|
// windowHtml = '<div class="fm-control-popmarker2" style="height: 50px;top: -56px;">';
|
// windowHtml += `<span class="fm-control-popmarker-bot2"></span>`;
|
// windowHtml += `<span class="fm-control-popmarker-top2"></span>`;
|
// windowHtml += `<div id="info">`;
|
// windowHtml += `<div class="content"><a> 姓名:` + personlist[i][1] + `</a><br>
|
// </div>`;
|
// windowHtml += `</div>`;
|
// windowHtml += `</div>`;
|
// }
|
// }
|
// } else {
|
// if (customSwitch4) {
|
// if (customSwitch5) {
|
// windowHtml = '<div class="fm-control-popmarker2" style="height: 72px;top: -78px;">';
|
// windowHtml += `<span class="fm-control-popmarker-bot2"></span>`;
|
// windowHtml += `<span class="fm-control-popmarker-top2"></span>`;
|
// windowHtml += `<div id="info">`;
|
// windowHtml += `<div class="content"><a> 编号:` + personlist[i][0] + `</a><br>
|
// <a> 电量:`+ personlist[i][2] + `</a>
|
// </div>`;
|
// windowHtml += `</div>`;
|
// windowHtml += `</div>`;
|
// } else {
|
// windowHtml = '<div class="fm-control-popmarker2" style="height: 50px;top: -56px;">';
|
// windowHtml += `<span class="fm-control-popmarker-bot2"></span>`;
|
// windowHtml += `<span class="fm-control-popmarker-top2"></span>`;
|
// windowHtml += `<div id="info">`;
|
// windowHtml += `<div class="content"><a> 编号:` + personlist[i][0] + `</a><br>
|
// </div>`;
|
// windowHtml += `</div>`;
|
// windowHtml += `</div>`;
|
// }
|
// } else {
|
// if (customSwitch5) {
|
// windowHtml = '<div class="fm-control-popmarker2" style="height: 50px;top: -56px;">';
|
// windowHtml += `<span class="fm-control-popmarker-bot2"></span>`;
|
// windowHtml += `<span class="fm-control-popmarker-top2"></span>`;
|
// windowHtml += `<div id="info">`;
|
// windowHtml += `<div class="content"><a> 电量:` + personlist[i][2] + `</a>
|
// </div>`;
|
// windowHtml += `</div>`;
|
// windowHtml += `</div>`;
|
// } else {
|
//
|
// }
|
// }
|
// }
|
// }
|
if (windowHtml != "" && windowHtml != null) {
|
var lmarker = new fengmap.FMDomMarker({
|
x: xy.x,
|
y: xy.y,
|
content: windowHtml
|
});
|
var level = map.getLevel();
|
var floor = map.getFloor(level);
|
lmarker.addTo(floor);
|
biaoqianids[personlist[i][0]] = lmarker;
|
}
|
}
|
}
|
}
|
}
|
}
|
|
|
function blues(e){
|
|
$(".ttdd"+e).css("color","deepskyblue")
|
}
|
|
function blues1(e){
|
|
$(".ttdd"+e).css("color","white")
|
}
|
|
$("#customSwitch3").prop("checked", true)
|
|
|
var tileLayer;
|
|
var flag;
|
var domMarker = null;
|
|
//地图属性
|
var options = {
|
container: document.getElementById("fengmap"),
|
appName: 'map1',
|
key: '09facc4ee52d1844bc1e561dad5abf59',
|
mapID: '1761938416618700801',
|
themeID: '1765945708318105601',
|
mapURL: '../fengmap/data/',
|
themeURL: '../fengmap/data/theme/',
|
minTiltAngle: 0,
|
mapZoom: 16,
|
|
}
|
|
map = new fengmap.FMMap(options);
|
|
// 地图加载完成事件
|
map.on('loaded', function () {
|
// 获取地图楼层信息
|
floorInfo = map.getFloorInfos()
|
localStorage.removeItem("domMar")
|
});
|
// 注册地图点击事件
|
|
map.on('click', function (event) {
|
|
|
marker = null;
|
var clickMode = event.targets.find(it => it.type === fengmap.FMType.MODEL)
|
var floor = floorInfo.find(it => it.level === event.level)
|
//更新界面的点击信息
|
UI.updateInfo(clickMode, floor, event)
|
var fencename = $(".Alise").text();
|
JianZhuName = fencename
|
console.log(event.targets[0].FID)
|
console.log(JianZhuName)
|
JianZhuMsg(event.targets[0].FID,JianZhuName)
|
})
|
|
var anchorObj = {
|
'CENTER': fengmap.FMMarkerAnchor.CENTER,
|
'BOTTOM': fengmap.FMMarkerAnchor.BOTTOM,
|
'LEFT': fengmap.FMMarkerAnchor.LEFT,
|
'LEFT_BOTTOM': fengmap.FMMarkerAnchor.LEFT_BOTTOM,
|
'LEFT_TOP': fengmap.FMMarkerAnchor.LEFT_TOP,
|
'RIGHT': fengmap.FMMarkerAnchor.RIGHT,
|
'RIGHT_BOTTOM': fengmap.FMMarkerAnchor.RIGHT_BOTTOM,
|
'RIGHT_TOP': fengmap.FMMarkerAnchor.RIGHT_TOP,
|
'TOP': fengmap.FMMarkerAnchor.TOP,
|
}
|
|
|
function addMarker(position) {
|
var panelSet = {
|
height: 5,
|
x: position.x,
|
y: position.y,
|
content: '<div style="height: 200px;background: url(\'../Home/HomeImg/FloorBg.png\') no-repeat;align-items: center;padding: 20px;background-size: cover;width: 270px"><div style="margin-top: 25px"><div style="font-weight: bold;color: white;font-size: 15px">建筑名称:'+JianZhuName+'<span><img style="cursor: pointer;width: 20px; height: 20px;position: absolute;left: 85%" src="../Home/HomeImg/clos.png" onclick="removeMarker1()"/></span></div><div style="color: black;font-size: 14px;font-weight: bold;margin-top: 10px">总共人数:80人</div></div></div>',
|
domWidth: 300,
|
domHeight: 40,
|
anchor: 'CENTER',
|
collision: true,
|
auto: 'on',
|
}
|
var panelSet1 = {...panelSet};
|
if (panelSet.auto === 'on') {
|
delete panelSet1.domWidth;
|
delete panelSet1.domHeight;
|
}
|
domMarker = new fengmap.FMDomMarker({
|
...panelSet1,
|
x: panelSet1.x,
|
y: panelSet1.y,
|
anchor: anchorObj[panelSet1.anchor],
|
content: panelSet.content
|
});
|
var level = map.getLevel()
|
var floor = map.getFloor(level);
|
domMarker.addTo(floor);
|
localStorage.setItem("domMar",domMarker);
|
}
|
|
function removeMarker() {
|
if (localStorage.getItem("domMar") == "" || localStorage.getItem("domMar") == null){
|
|
}else{
|
domMarker.remove();
|
}
|
}
|
|
function removeMarker1() {
|
localStorage.removeItem("SanWei_JianZhu")
|
domMarker.remove();
|
localStorage.removeItem("domMar")
|
}
|
function setFilterDisabled(isToggle, isDelete) {
|
if (isToggle) {
|
let btn = document.getElementById('init');
|
if (!btn) return
|
if (btn.classList.value.indexOf('layui-btn-disabled') > -1) {
|
btn.removeAttribute('disabled');
|
btn.classList.remove('layui-btn-disabled');
|
}
|
else {
|
btn.setAttribute('disabled', true);
|
btn.classList.add('layui-btn-disabled');
|
}
|
}
|
else {
|
let btn = document.getElementById('init');
|
if (btn) {
|
if (isDelete) {
|
btn.setAttribute('disabled', true);
|
btn.classList.add('layui-btn-disabled');
|
}
|
else {
|
btn.classList.remove('layui-btn-disabled');
|
btn.removeAttribute('disabled');
|
}
|
}
|
}
|
}
|
|
|
|
|
|
|
function quxiao3() {
|
sousuopd = false;
|
sousuoid = "";
|
|
document.getElementById("sou").style.display = "";
|
document.getElementById("sousuotagid").value = "";
|
}
|
|
function sousuo3() {
|
sousuopd = true;
|
sousuoid = $("#sousuotagid").val();
|
|
document.getElementById("qu").style.display = "";
|
}
|
sousuo = sousuo3;
|
quxiao = quxiao3;
|
|
var timer = setTimeout(function f() {
|
fn3();
|
timer = setTimeout(f, 3000);
|
}, 3000);
|
var ans = "Yes";
|
//循环移动
|
var personlist2 = FindShowJiZhan();
|
var personlist3 = FindShowWangGuan();
|
function fn3() {
|
if(localStorage.getItem("三维地图") != "执行"){
|
return
|
}
|
var personlist1 = getRealPositionsanwei();
|
var radioes = 0;
|
$.ajax({
|
url: "/hxzkuwb/findPerAll",
|
type: "GET",
|
async: false,
|
success: function(data) {
|
radioes = data[0].redius
|
},
|
});
|
//显示基站
|
if (localStorage.getItem("jizhanshow") == "1"){
|
for(var i = 0 ; i <personlist2.length;i++){
|
var level = map.getLevel();
|
var floor1 = map.getFloor(level);
|
var xy
|
var turl;
|
xy = fengmap.FMCalculator.latlngToMapCoordinate({
|
x: personlist2[i].baoliu6,
|
y: personlist2[i].baoliu7
|
});
|
turl = '/hxzkuwb/Icon/jizhan.png';
|
fmarkerAnchor = new fengmap.FMImageMarker({
|
url: turl,
|
x: xy.x,
|
y: xy.y,
|
});
|
var windowHtml = '<div class="" style="height: 100px;width: 80px;text-align: center;position: absolute;top: -40px;left: -40px">';
|
windowHtml += `<div class="content" style="border-radius: 5px;background-color:ghostwhite;"><a style="color: black;font-size: 14px"> 基站:` + personlist2[i].anchorid + `</a></div>`;
|
windowHtml += `</div>`;
|
lmarkerAnchor = new fengmap.FMDomMarker({
|
x: xy.x,
|
y: xy.y,
|
content: windowHtml
|
});
|
fmarkerAnchor.addTo(floor1);
|
lmarkerAnchor.addTo(floor1)
|
}
|
}
|
//显示网关
|
if (localStorage.getItem("wangguanshow") == "1"){
|
for(var i = 0 ; i <personlist3.length;i++){
|
var level = map.getLevel();
|
var floor1 = map.getFloor(level);
|
var xy
|
var turl;
|
xy = fengmap.FMCalculator.latlngToMapCoordinate({
|
x: personlist3[i].lon,
|
y: personlist3[i].lat
|
});
|
console.log(xy)
|
turl = '/hxzkuwb/Icon/wangguan.png';
|
fmarkerAnchor = new fengmap.FMImageMarker({
|
url: turl,
|
x: xy.x,
|
y: xy.y,
|
});
|
var windowHtml = '<div class="" style="height: 100px;width: 80px;text-align: center;position: absolute;top: -40px;left: -40px">';
|
windowHtml += `<div class="content" style="border-radius: 5px;background-color:ghostwhite;"><a style="color: black;font-size: 14px"> 网关:` + personlist3[i].loragwid + `</a></div>`;
|
windowHtml += `</div>`;
|
lmarkerAnchor = new fengmap.FMDomMarker({
|
x: xy.x,
|
y: xy.y,
|
content: windowHtml
|
});
|
fmarkerAnchor.addTo(floor1);
|
lmarkerAnchor.addTo(floor1)
|
}
|
}
|
|
|
|
for (var i = 0; i < personlist1.length; i++) {
|
var xy;
|
var turl;
|
xy = fengmap.FMCalculator.latlngToMapCoordinate({
|
x: personlist1[i][4],
|
y: personlist1[i][5]
|
});
|
|
turl = '/hxzkuwb/Icon/' + personlist1[i][20] + '';
|
|
|
var fmarker = biaoqians[personlist1[i][0]];
|
var lmarker = biaoqianids[personlist1[i][0]];
|
var circles = biaoqianidc[personlist1[i][0]]
|
if (fmarker) {
|
// 如果标记存在,则更新坐标
|
fmarker.moveTo({
|
x: xy.x,
|
y: xy.y
|
});
|
lmarker.moveTo({
|
x: xy.x,
|
y: xy.y
|
});
|
if (circles){
|
circles.remove();
|
//从数据库获取半径
|
var level = map.getLevel();
|
var floor = map.getFloor(level);
|
var panelSet;
|
if(personlist1[i][22] <=3 && personlist1[i][3] == 1 && personlist1[i][22] > 0){
|
//黄色告警区域
|
panelSet = {
|
height: 10,
|
opacity: 50,
|
color: '#FFFF00',
|
borderWidth: 0,
|
borderColor: '#FFFF00',
|
}
|
var publicOption = {
|
...panelSet,
|
opacity: Number(panelSet.opacity) / 100,
|
}
|
|
/* 添加圆形 */
|
var circle_radius = radioes;
|
// segments 影响形成的圆形的边数和顶点数量,数值越大圆形在视觉上越 ’平滑‘
|
var circle_segments = 500;
|
var circle_center = {
|
x: xy.x,
|
y: xy.y,
|
};
|
/* 使用 FMCalculator 的矩形构造器可以快速构造出圆形的几何形状坐标集合 */
|
var circleOption = {
|
points: fengmap.FMCalculator.circleBuilder(circle_radius, circle_center, circle_segments),
|
x: xy.x,
|
y: xy.y,
|
...publicOption
|
}
|
circle = new fengmap.FMPolygonMarker(circleOption);
|
circle.addTo(floor);
|
}
|
|
if(personlist1[i][22]>3 && personlist1[i][22] <=6 && personlist1[i][3] == 1){
|
//橙色告警区域
|
panelSet = {
|
height: 10,
|
opacity: 50,
|
color: '#FFBF01',
|
borderWidth: 0,
|
borderColor: '#FFBF01',
|
}
|
var publicOption = {
|
...panelSet,
|
opacity: Number(panelSet.opacity) / 100,
|
}
|
|
/* 添加圆形 */
|
var circle_radius = radioes;
|
// segments 影响形成的圆形的边数和顶点数量,数值越大圆形在视觉上越 ’平滑‘
|
var circle_segments = 500;
|
var circle_center = {
|
x: xy.x,
|
y: xy.y,
|
};
|
/* 使用 FMCalculator 的矩形构造器可以快速构造出圆形的几何形状坐标集合 */
|
var circleOption = {
|
points: fengmap.FMCalculator.circleBuilder(circle_radius, circle_center, circle_segments),
|
x: xy.x,
|
y: xy.y,
|
...publicOption
|
}
|
circle = new fengmap.FMPolygonMarker(circleOption);
|
circle.addTo(floor);
|
}
|
|
if(personlist1[i][22] >6 && personlist1[i][3] == 1){
|
//红色告警区域
|
panelSet = {
|
height: 10,
|
opacity: 50,
|
color: '#FF0000',
|
borderWidth: 0,
|
borderColor: '#FF0000',
|
}
|
var publicOption = {
|
...panelSet,
|
opacity: Number(panelSet.opacity) / 100,
|
}
|
|
/* 添加圆形 */
|
var circle_radius = radioes;
|
// segments 影响形成的圆形的边数和顶点数量,数值越大圆形在视觉上越 ’平滑‘
|
var circle_segments = 500;
|
var circle_center = {
|
x: xy.x,
|
y: xy.y,
|
};
|
/* 使用 FMCalculator 的矩形构造器可以快速构造出圆形的几何形状坐标集合 */
|
var circleOption = {
|
points: fengmap.FMCalculator.circleBuilder(circle_radius, circle_center, circle_segments),
|
x: xy.x,
|
y: xy.y,
|
...publicOption
|
}
|
circle = new fengmap.FMPolygonMarker(circleOption);
|
circle.addTo(floor);
|
}
|
biaoqianidc[personlist1[i][0]] = circle;
|
}
|
} else {
|
// 如果标记不存在,则添加marker
|
fmarker = new fengmap.FMImageMarker({
|
url: turl,
|
x: xy.x,
|
y: xy.y,
|
});
|
var windowHtml = "";
|
|
if(personlist1[i][3]=="0"){
|
windowHtml = '<div class="" style="height: 100px;width: 100px;text-align: center;position: absolute;top: -30px;left: -30px">';
|
windowHtml += `<div class="content" style="border-radius: 5px;background-color:rgb(102,102,102,0.5);"><a style="color: white;font-size: 16px"> ` + personlist1[i][1] + `-离线</a></div>`;
|
windowHtml += `</div>`;
|
lmarker = new fengmap.FMDomMarker({
|
x: xy.x,
|
y: xy.y,
|
content: windowHtml
|
});
|
}else{
|
if (personlist1[i][1].length>7){
|
var name = personlist1[i][1].substring(0,6)
|
var windowHtml = '<div class="" style="height: 100px;width: 100px;text-align: center;position: absolute;top: -40px;left: -50px">';
|
windowHtml += `<div class="content" style="border-radius: 5px;background-color: ` + personlist1[i][21] + `;"><a style="color: white;font-size: 16px"> ` + name + `</a></div>`;
|
windowHtml += `</div>`;
|
lmarker = new fengmap.FMDomMarker({
|
x: xy.x,
|
y: xy.y,
|
content: windowHtml
|
});
|
}else{
|
var windowHtml = '<div class="" style="height: 100px;width: 100px;text-align: center;position: absolute;top: -40px;left: -50px">';
|
windowHtml += `<div class="content" style="border-radius: 5px;background-color: ` + personlist1[i][21] + `;"><a style="color: white;font-size: 16px"> ` + personlist1[i][1] + `</a></div>`;
|
windowHtml += `</div>`;
|
lmarker = new fengmap.FMDomMarker({
|
x: xy.x,
|
y: xy.y,
|
content: windowHtml
|
});
|
}
|
}
|
|
var level = map.getLevel();
|
var floor = map.getFloor(level);
|
var panelSet;
|
if(personlist1[i][22] <=3 && personlist1[i][3] == 1 && personlist1[i][22] > 0){
|
//黄色告警区域
|
panelSet = {
|
height: 10,
|
opacity: 50,
|
color: '#FFFF00',
|
borderWidth: 2,
|
borderColor: '#FFFF00',
|
}
|
var publicOption = {
|
...panelSet,
|
opacity: Number(panelSet.opacity) / 100,
|
}
|
|
/* 添加圆形 */
|
var circle_radius = radioes;
|
// segments 影响形成的圆形的边数和顶点数量,数值越大圆形在视觉上越 ’平滑‘
|
var circle_segments = 500;
|
var circle_center = {
|
x: xy.x,
|
y: xy.y,
|
};
|
/* 使用 FMCalculator 的矩形构造器可以快速构造出圆形的几何形状坐标集合 */
|
var circleOption = {
|
points: fengmap.FMCalculator.circleBuilder(circle_radius, circle_center, circle_segments),
|
x: xy.x,
|
y: xy.y,
|
...publicOption
|
}
|
circle = new fengmap.FMPolygonMarker(circleOption);
|
circle.addTo(floor);
|
}
|
|
if(personlist1[i][22]>3 && personlist1[i][22] <=6 && personlist1[i][3] == 1){
|
//橙色告警区域
|
panelSet = {
|
height: 10,
|
opacity: 50,
|
color: '#FFBF01',
|
borderWidth: 2,
|
borderColor: '#FFBF01',
|
}
|
var publicOption = {
|
...panelSet,
|
opacity: Number(panelSet.opacity) / 100,
|
}
|
|
/* 添加圆形 */
|
var circle_radius = radioes;
|
// segments 影响形成的圆形的边数和顶点数量,数值越大圆形在视觉上越 ’平滑‘
|
var circle_segments = 500;
|
var circle_center = {
|
x: xy.x,
|
y: xy.y,
|
};
|
/* 使用 FMCalculator 的矩形构造器可以快速构造出圆形的几何形状坐标集合 */
|
var circleOption = {
|
points: fengmap.FMCalculator.circleBuilder(circle_radius, circle_center, circle_segments),
|
x: xy.x,
|
y: xy.y,
|
...publicOption
|
}
|
circle = new fengmap.FMPolygonMarker(circleOption);
|
circle.addTo(floor);
|
}
|
|
if(personlist1[i][22] >6 && personlist1[i][3] == 1){
|
//红色告警区域
|
panelSet = {
|
height: 10,
|
opacity: 50,
|
color: '#FF0000',
|
borderWidth: 2,
|
borderColor: '#FF0000',
|
}
|
var publicOption = {
|
...panelSet,
|
opacity: Number(panelSet.opacity) / 100,
|
}
|
|
/* 添加圆形 */
|
var circle_radius = radioes;
|
// segments 影响形成的圆形的边数和顶点数量,数值越大圆形在视觉上越 ’平滑‘
|
var circle_segments = 500;
|
var circle_center = {
|
x: xy.x,
|
y: xy.y,
|
};
|
/* 使用 FMCalculator 的矩形构造器可以快速构造出圆形的几何形状坐标集合 */
|
var circleOption = {
|
points: fengmap.FMCalculator.circleBuilder(circle_radius, circle_center, circle_segments),
|
x: xy.x,
|
y: xy.y,
|
...publicOption
|
}
|
circle = new fengmap.FMPolygonMarker(circleOption);
|
circle.addTo(floor);
|
}
|
fmarker.addTo(floor);
|
lmarker.addTo(floor);
|
biaoqians[personlist1[i][0]] = fmarker;
|
biaoqianids[personlist1[i][0]] = lmarker;
|
biaoqianidc[personlist1[i][0]] = circle;
|
}
|
if (localStorage.getItem("oNLine") == "No" && personlist1[i][3] == "0") {
|
// 如果标记不在线且设备离线,则移除标记
|
fmarker.remove();
|
lmarker.remove();;
|
delete biaoqians[personlist1[i][0]];
|
delete biaoqianids[personlist1[i][0]];
|
}
|
}
|
}
|
|
|
function getMercator(poi) { //[114.32894, 30.585748]
|
var mercator = {};
|
var earthRad = 6378137.0;
|
|
mercator.x = poi[0] * Math.PI / 180 * earthRad;
|
var a = poi[1] * Math.PI / 180;
|
mercator.y = earthRad / 2 * Math.log((1.0 + Math.sin(a)) / (1.0 - Math.sin(a)));
|
|
return [mercator.x, mercator.y]; //[12727039.383734727, 3579066.6894065146]
|
|
|
}
|
localStorage.removeItem("SanWei_JianZhu")
|
function JianZhuMsg(Fid,Name){
|
//根据Fid查询,如果查到则显示,
|
var data = "Fid="+Fid
|
$.get("/hxzkuwb/FindSanWeiIFID",data,function (data){
|
if(data>0){
|
localStorage.setItem("SanWei_JianZhu",Name)
|
localStorage.setItem("SanWei_JianZhuFID",Fid)
|
localStorage.setItem("DiaoYong_SanWeiFlOoor","FID")
|
}else{
|
localStorage.removeItem("SanWei_JianZhu")
|
localStorage.removeItem("SanWei_JianZhuFID")
|
}
|
})
|
|
}
|
</script>
|
</html>
|