| | |
| | | <html> |
| | | <head> |
| | | <title>Title</title> |
| | | <script src="../fengmap/js/fengmap.map.min.js"></script> |
| | | <script src="https://developer.fengmap.com/fmAPI/demos/libs/js/fengmap.plugin.layers.min.js"></script> |
| | | <script src="https://developer.fengmap.com/fmAPI/demos/libs/layui/layui.js"></script> |
| | | <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/js/FMUI.js"></script> |
| | | <script src="https://developer.fengmap.com/fmAPI/demos/BaseMap/tileBaseMap/js/index.js"></script> |
| | | <link rel="stylesheet" href="https://developer.fengmap.com/fmAPI/demos/libs/css/toolBarStyle.css"> |
| | | <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/libs/css/layui.css"> |
| | | <link rel="stylesheet" href="https://developer.fengmap.com/fmAPI/demos/BaseMap/tileBaseMap/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> |
| | | <script src="https://developer.fengmap.com/fmAPI/demos/libs/js/fengmap.plugin.draw.min.js"></script> |
| | | <script src="https://developer.fengmap.com/fmAPI/demos/libs/js/fengmap.analyser.min.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; |
| | |
| | | return count; |
| | | } |
| | | |
| | | function getRealPositionsanwei() { |
| | | function getRealPositionsanweiOnline() { |
| | | var realposition = []; |
| | | $.ajax({ |
| | | async: false, |
| | |
| | | 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]) |
| | | } |
| | | |
| | | realposition = data |
| | | }, |
| | | }); |
| | | return realposition |
| | | }; |
| | | function getRealPositionsanweiOffOnline() { |
| | | var realposition = []; |
| | | $.ajax({ |
| | | async: false, |
| | | type: 'POST', |
| | | url: "/hxzkuwb/getRealPositionsan3.do", |
| | | dataType: 'json', |
| | | success: function (data) { |
| | | realposition = data |
| | | }, |
| | | }); |
| | | return realposition |
| | | }; |
| | | |
| | | |
| | | |
| | | function getAnchorInfo2() { |
| | | var online_anchorList = []; |
| | | var offline_anchorList = []; |
| | | function FindShowJiZhan() { |
| | | var realposition = []; |
| | | $.ajax({ |
| | | async: false, |
| | | type: 'POST', |
| | | url: "/hxzkuwb/getAnchorInfo_all.do", |
| | | type: 'Get', |
| | | url: "/hxzkuwb/FindSanWeiJiZhan", |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | | realposition = data; |
| | | }, |
| | | }); |
| | | return [online_anchorList, offline_anchorList] |
| | | return realposition |
| | | }; |
| | | |
| | | var sousuopd = false; |
| | | function FindShowWangGuan() { |
| | | var realposition = []; |
| | | $.ajax({ |
| | | async: false, |
| | | type: 'Get', |
| | | url: "/hxzkuwb/FindGateWayList", |
| | | dataType: 'json', |
| | | success: function (data) { |
| | | realposition = data; |
| | | }, |
| | | }); |
| | | return realposition |
| | | }; |
| | | function FindShowJianZhu(){ |
| | | var realposition = []; |
| | | $.ajax({ |
| | | async: false, |
| | | type: 'Get', |
| | | url: "/hxzkuwb/FindShowJianZhuShan", |
| | | dataType: 'json', |
| | | success: function (data) { |
| | | realposition = data; |
| | | }, |
| | | }); |
| | | return realposition |
| | | } |
| | | |
| | | |
| | | var JianZhuName = ""; |
| | | var biaoqians = new Object(); |
| | | var biaoqianids = new Object(); |
| | | var biaoqianidc = new Object(); |
| | | var jizhanbc = new Object(); |
| | | var jizhanbclabel = new Object(); |
| | | var wangguanbc = new Object(); |
| | | var wangguanbclabel = new Object(); |
| | | var onlineanchor = 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 blink = []; |
| | | |
| | | //坐标转换数据 |
| | | var origon = [{ 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]}) |
| | | |
| | | } |
| | | var tileLayer; |
| | | var flag; |
| | | var domMarker = null; |
| | | //地图属性 |
| | | var boxselecttool; |
| | | var modelBlink; |
| | | var selectedModels = []; |
| | | var selectedModels1 = []; |
| | | 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, |
| | | |
| | | 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; |
| | | } |
| | | } |
| | | |
| | | map = new fengmap.FMMap(options); |
| | | |
| | | // 地图加载完成事件 |
| | | map.on('loaded', function () { |
| | | // 获取地图楼层信息 |
| | | floorInfo = map.getFloorInfos() |
| | | localStorage.removeItem("domMar") |
| | | }); |
| | | boxselecttool = new fengmap.FMBoxSelectTool(map); |
| | | // 注册地图点击事件 |
| | | |
| | | 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 |
| | | JianZhuMsg(event.targets[0].FID,JianZhuName) |
| | | }) |
| | | |
| | | |
| | | |
| | | function kq(){ |
| | | boxselecttool.enable = true |
| | | boxselecttool.boxStyle = { |
| | | border: "border:5px solid #EEEE00", |
| | | backgroundColor: "#FF4040", |
| | | opacity: 0.5 |
| | | } |
| | | //绘制完成事件 |
| | | boxselecttool.on('boxselected', function (e) { |
| | | //重置上次选中model颜色 |
| | | for (var i = 0; i < selectedModels.length; i++) { |
| | | selectedModels[i].resetColor(); |
| | | } |
| | | selectedModels1.length = 0; |
| | | //获取选中model |
| | | var targets = e.targets; |
| | | for (var i = 0; i < targets.length; i++) { |
| | | if (targets[i].type === fengmap.FMType.MODEL) { |
| | | var models = map.getNodes(targets[i].children); |
| | | for (var j = 0; j < models.length; j++) { |
| | | if (models[j].FID != null) { |
| | | //将model颜色设置为0xff0000 透明度值为0.5 |
| | | models[j].setColor(0xff0000, 0.5); |
| | | selectedModels1.push(models[j].FID); |
| | | selectedModels.push(models[j]); |
| | | } |
| | | } |
| | | } |
| | | } 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; |
| | | } |
| | | } |
| | | localStorage.setItem("KuangXuan",selectedModels1) |
| | | localStorage.setItem("KuangXuan1","true") |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | }); |
| | | |
| | | kqhuizhi = false; |
| | | sessionStorage.setItem("kqhuizhi",false); |
| | | } |
| | | |
| | | |
| | | function blues(e){ |
| | | |
| | | $(".ttdd"+e).css("color","deepskyblue") |
| | | function closet(){ |
| | | boxselecttool.enable = false |
| | | } |
| | | 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 blues1(e){ |
| | | |
| | | $(".ttdd"+e).css("color","white") |
| | | 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); |
| | | } |
| | | |
| | | $("#customSwitch3").prop("checked", true) |
| | | |
| | | function removeMarker() { |
| | | if (localStorage.getItem("domMar") == "" || localStorage.getItem("domMar") == null){ |
| | | |
| | | 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: '1737015464018382850', |
| | | mapURL: '../fengmap/data/', |
| | | themeURL: '../fengmap/data/theme/', |
| | | minTiltAngle: 0, |
| | | mapZoom: 16, |
| | | |
| | | }else{ |
| | | domMarker.remove(); |
| | | } |
| | | } |
| | | function removeMarker1() { |
| | | localStorage.removeItem("SanWei_JianZhu") |
| | | domMarker.remove(); |
| | | localStorage.removeItem("domMar") |
| | | } |
| | | var wangguanflag; |
| | | var jizhanflag; |
| | | var kqhuizhi = true; |
| | | |
| | | /* 初始化地图 */ |
| | | 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; |
| | | }; |
| | | var personlist2 = FindShowJiZhan(); //获取基站数据 |
| | | var personlist3 = FindShowWangGuan(); //获取网关数据 |
| | | var p2; //是否开启基站 |
| | | var p3; //是否开启网关 |
| | | var username = sessionStorage.getItem("username") |
| | | var data = "username="+username |
| | | var cir = false |
| | | $.ajax({ |
| | | url: "/hxzkuwb/findScreenRole", |
| | | type: "GET", |
| | | data:data, |
| | | async: false, // Set async to false for synchronous request |
| | | success: function(data) { |
| | | p2 = data.jizhanshow; |
| | | p3 = data.wangguanshow; |
| | | } |
| | | }); |
| | | |
| | | // 设置底图 |
| | | function SetTileLayerMode(type) { |
| | | if (tileLayer != null) { |
| | | tileLayer.remove(map); |
| | | tileLayer = null; |
| | | } |
| | | // tileLayer = new fengmap.FMTileLayer({ |
| | | // mode: objType[type], |
| | | // offset: 1.0, |
| | | // filter: fengmap.FMTileFilter.NONE, //滤镜枚举,默认为fengmap.FMTileFilter.NONE,FMTileFilter类中预置了6种滤镜;也可以自定义滤镜(如果值为fengmap.FMTileFilter.CUSTOM,需要配置filterCustomization,自定义参数设置参考文档) |
| | | // }) |
| | | // tileLayer.addTo(map); |
| | | setInterval(function (){ |
| | | if(localStorage.getItem("三维地图") != "执行"){ |
| | | return |
| | | } |
| | | //显示聚集效果 |
| | | var personlist4 = FindShowJianZhu(); |
| | | var levelJian = map.getLevel() |
| | | var floorJian = map.getFloor(levelJian) |
| | | for(var m = 0 ; m < blink.length;m++){ |
| | | var data = "baoliu39="+blink[i]; |
| | | $.ajax({ |
| | | url: '/hxzkuwb/FindShowJianZhuShanStop', |
| | | data: data, |
| | | type: 'GET', |
| | | async: false, |
| | | success: function(data) { |
| | | |
| | | 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'); |
| | | if (data[0].pname < 1){ |
| | | modelBlink = floorJian.getLayers(fengmap.FMType.MODEL_LAYER)[0].getFeatures().find(item => item.FID === blink[m]) |
| | | modelBlink.stopFlash() |
| | | } |
| | | } |
| | | 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(); |
| | | });; |
| | | |
| | | |
| | | |
| | | |
| | | 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 = ""; |
| | | blink = []; |
| | | for (var i = 0; i <personlist4.length; i++){ |
| | | if (personlist4[i].pname ==3 && personlist4[i].baoliu39 != "" && personlist4[i].baoliu39 != "0" && personlist4[i].baoliu39 != "-1"){ |
| | | //黄色闪烁 |
| | | model = floorJian.getLayers(fengmap.FMType.MODEL_LAYER)[0].getFeatures().find(item => item.FID === personlist4[i].baoliu39) |
| | | model.flash('yellow') |
| | | blink.push(personlist4[i].baoliu39) |
| | | } |
| | | if (personlist4[i].pname >3 && personlist4.pname <=6 && personlist4[i].baoliu39 != "" && personlist4[i].baoliu39 != "0" && personlist4[i].baoliu39 != "-1"){ |
| | | //橙色闪烁 |
| | | model = floorJian.getLayers(fengmap.FMType.MODEL_LAYER)[0].getFeatures().find(item => item.FID === personlist4[i].baoliu39) |
| | | model.flash('orange') |
| | | blink.push(personlist4[i].baoliu39) |
| | | } |
| | | if (personlist4[i].pname >6 && personlist4[i].baoliu39 != "" && personlist4[i].baoliu39 != "-1" && personlist4[i].baoliu39 != "0" ){ |
| | | model = floorJian.getLayers(fengmap.FMType.MODEL_LAYER)[0].getFeatures().find(item => item.FID === personlist4[i].baoliu39) |
| | | model.flash('blue') |
| | | blink.push(personlist4[i].baoliu39) |
| | | } |
| | | } |
| | | sousuo = sousuo3; |
| | | quxiao = quxiao3; |
| | | },5000) |
| | | |
| | | var timer = setTimeout(function f() { |
| | | var radioes = 0; |
| | | $.ajax({ |
| | | url: "/hxzkuwb/findPerAll", |
| | | type: "GET", |
| | | async: false, |
| | | success: function(data) { |
| | | if(data == "-1" || data == ""){ |
| | | radioes = 20 |
| | | }else{ |
| | | radioes = data[0].redius/100 |
| | | } |
| | | }, |
| | | }); |
| | | setInterval(function (){ |
| | | fn3(); |
| | | timer = setTimeout(f, 3000); |
| | | }, 3000); |
| | | |
| | | //循环移动 |
| | | function fn3() { |
| | | if(localStorage.getItem("三维地图") != "执行"){ |
| | | return |
| | | } |
| | | var personlist1 = getRealPositionsanwei(); |
| | | for (var i = 0; i < personlist1.length; i++) { |
| | | var xy; |
| | | var turl; |
| | | xy = fengmap.FMCalculator.latlngToMapCoordinate({ |
| | | x: personlist1[i][4], |
| | | y: personlist1[i][5] |
| | | },2000) |
| | | function fn3() { |
| | | if(localStorage.getItem("三维地图") != "执行"){ |
| | | return |
| | | } |
| | | kqhuizhi = sessionStorage.getItem("kqhuizhi") |
| | | if (sessionStorage.getItem("QuYuKuangXuan") == "1" && kqhuizhi == "true"){ |
| | | kq() |
| | | }else if (kqhuizhi == "false1"){ |
| | | closet() |
| | | } |
| | | var personlist1 = getRealPositionsanweiOffOnline(); |
| | | for (var i = 0; i < personlist1.length; i++) { |
| | | var xy; |
| | | var turl; |
| | | xy = fengmap.FMCalculator.latlngToMapCoordinate({ |
| | | x: personlist1[i].baoliu2, |
| | | y: personlist1[i].baoliu3 |
| | | }); |
| | | turl = '/hxzkuwb/Icon/' + personlist1[i].pimage + ''; |
| | | var fmarker = biaoqians[personlist1[i].ptagid]; |
| | | var lmarker = biaoqianids[personlist1[i].ptagid]; |
| | | var circles = biaoqianidc[personlist1[i].ptagid] |
| | | if (fmarker) { |
| | | // 如果标记存在,则更新坐标 |
| | | fmarker.moveTo({ |
| | | x: xy.x, |
| | | y: xy.y |
| | | }); |
| | | 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) { |
| | | console.log("更新坐标") |
| | | // 如果标记存在,则更新坐标 |
| | | 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){ |
| | | //黄色告警区域 |
| | | panelSet = { |
| | | height: 10, |
| | | opacity: 50, |
| | | color: '#FFFF00', |
| | | borderWidth: 0, |
| | | borderColor: '#FFFF00', |
| | | } |
| | | var publicOption = { |
| | | ...panelSet, |
| | | opacity: Number(panelSet.opacity) / 100, |
| | | } |
| | | |
| | | /* 添加圆形 */ |
| | | var circle_radius = 60; |
| | | // 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 = 60; |
| | | // 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 = 60; |
| | | // 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, |
| | | 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].baoliu38 <= 3 && personlist1[i].ponline == 1 && personlist1[i].baoliu38 > 1) { |
| | | // //黄色告警区域 |
| | | // panelSet = { |
| | | // height: 0, |
| | | // 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].baoliu38 > 3 && personlist1[i].baoliu38 <= 6 && personlist1[i].ponline == 1) { |
| | | // //橙色告警区域 |
| | | // panelSet = { |
| | | // height: 0, |
| | | // 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].baoliu38 > 6 && personlist1[i].ponline == 1) { |
| | | // //红色告警区域 |
| | | // panelSet = { |
| | | // height: 0, |
| | | // 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].ptagid] = circle; |
| | | // } |
| | | } else { |
| | | // 如果标记不存在,则添加marker |
| | | fmarker = new fengmap.FMImageMarker({ |
| | | url: turl, |
| | | x: xy.x, |
| | | y: xy.y, |
| | | }); |
| | | if (personlist1[i].ponline == "1"){ |
| | | 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].bumencolor + `;"><a style="color: white;font-size: 12px"> ` + personlist1[i].pname+ `</a></div>`; |
| | | windowHtml += `</div>`; |
| | | lmarker = new fengmap.FMDomMarker({ |
| | | x: xy.x, |
| | | y: xy.y, |
| | | content: windowHtml |
| | | }); |
| | | 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{ |
| | | var 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: ` + 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){ |
| | | //黄色告警区域 |
| | | panelSet = { |
| | | height: 10, |
| | | opacity: 50, |
| | | color: '#FFFF00', |
| | | borderWidth: 2, |
| | | borderColor: '#FFFF00', |
| | | } |
| | | var publicOption = { |
| | | ...panelSet, |
| | | opacity: Number(panelSet.opacity) / 100, |
| | | } |
| | | |
| | | /* 添加圆形 */ |
| | | var circle_radius = 60; |
| | | // 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 = 60; |
| | | // 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 = 60; |
| | | // 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; |
| | | }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].bumencolor + `;"><a style="color: white;font-size: 12px"> ` + personlist1[i].pname + `-离线</a></div>`; |
| | | windowHtml += `</div>`; |
| | | lmarker = new fengmap.FMDomMarker({ |
| | | x: xy.x, |
| | | y: xy.y, |
| | | content: windowHtml |
| | | }); |
| | | } |
| | | if (localStorage.getItem("Online") == "No" && personlist1[i][3] == "0") { |
| | | |
| | | var level = map.getLevel(); |
| | | var floor = map.getFloor(level); |
| | | // if (sessionStorage.getItem("PerCircles") == "Yes"){ |
| | | // if (personlist1[i].baoliu38 <= 3 && personlist1[i].ponline == 1 && personlist1[i].baoliu38 > 1) { |
| | | // //黄色告警区域 |
| | | // panelSet = { |
| | | // height: 0, |
| | | // 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].baoliu38 > 3 && personlist1[i].baoliu38 <= 6 && personlist1[i].ponline == 1) { |
| | | // //橙色告警区域 |
| | | // panelSet = { |
| | | // height: 0, |
| | | // 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].baoliu38 > 6 && personlist1[i].ponline == 1) { |
| | | // //红色告警区域 |
| | | // panelSet = { |
| | | // height: 0, |
| | | // 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); |
| | | // } |
| | | // } |
| | | var level = map.getLevel(); |
| | | var floor = map.getFloor(level); |
| | | fmarker.addTo(floor); |
| | | lmarker.addTo(floor); |
| | | biaoqians[personlist1[i].ptagid] = fmarker; |
| | | biaoqianids[personlist1[i].ptagid] = lmarker; |
| | | biaoqianidc[personlist1[i].ptagid] = circle; |
| | | if (sessionStorage.getItem("oNLine")== "No" && personlist1[i].ponline == "0") { |
| | | // 如果标记不在线且设备离线,则移除标记 |
| | | fmarker.remove(); |
| | | lmarker.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> |