From 70223b3ef4df02622869425fed4ba9b290e1aa74 Mon Sep 17 00:00:00 2001 From: fei.wang <wf18701153496@163.com> Date: 星期二, 16 四月 2024 14:07:59 +0800 Subject: [PATCH] V定制1.0 1:对讲功能 2:计算经纬度控制器systemcontrollen --- src/main/webapp/Home/Home1.jsp | 217 ++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 178 insertions(+), 39 deletions(-) diff --git a/src/main/webapp/Home/Home1.jsp b/src/main/webapp/Home/Home1.jsp index 519ecd7..0251a6b 100644 --- a/src/main/webapp/Home/Home1.jsp +++ b/src/main/webapp/Home/Home1.jsp @@ -19,8 +19,12 @@ <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>--%> + <script src="https://developer.fengmap.com/fmAPI/demos/Marker/FMDomMarker/js/index.js"></script> + <style> + .box { + } + </style> </head> <body> <%--<div class="layui-container">--%> @@ -191,6 +195,35 @@ 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() { @@ -215,11 +248,13 @@ 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;//鏄惁绂荤嚎涓嶆樉绀哄浘鏍� @@ -484,7 +519,7 @@ appName: 'map1', key: '09facc4ee52d1844bc1e561dad5abf59', mapID: '1761938416618700801', - themeID: '1737015464018382850', + themeID: '1765945708318105601', mapURL: '../fengmap/data/', themeURL: '../fengmap/data/theme/', minTiltAngle: 0, @@ -498,19 +533,23 @@ map.on('loaded', function () { // 鑾峰彇鍦板浘妤煎眰淇℃伅 floorInfo = map.getFloorInfos() + localStorage.removeItem("domMar") }); // 娉ㄥ唽鍦板浘鐐瑰嚮浜嬩欢 + map.on('click', function (event) { - console.log(target) + 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(); - console.log(event) - addMarker(event.coords) + JianZhuName = fencename + console.log(event.targets[0].FID) + console.log(JianZhuName) + JianZhuMsg(event.targets[0].FID,JianZhuName) }) var anchorObj = { @@ -527,22 +566,17 @@ function addMarker(position) { - var panelSet = { height: 5, x: position.x, y: position.y, - content: `<div style="background-color: white;display: flex;align-items: center;padding: 15px"><div style="width: 54px;height: 54px;text-align: center;line-height:54px;margin-right: 14px;background: #FFFFFF;border: 1px solid #EDEDED;"><img width="37" src="https://developer.fengmap.com/fmAPI/images/domlogo.png"/></div><div><div style="font-size: 14;font-weight: bold;">DomMarker</div><div style="color: rgba(0,0,0,0.7);font-size: 12px;margin-top: 5px;">鍟嗛摵 <span style="color: rgba(0,0,0,0.5);">L001</span></div><div style="color: rgba(0,0,0,0.7);font-size: 12px;margin-top: 5px;">闈㈢Н <span style="color: rgba(0,0,0,0.5);">100銕�</span></div></div></div>`, - domWidth: 200, + 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', - } - - - /* 鏋勯�� Marker 骞舵坊鍔犲埌鍦板浘涓� */ var panelSet1 = {...panelSet}; if (panelSet.auto === 'on') { delete panelSet1.domWidth; @@ -558,11 +592,21 @@ 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(); - domMarker = null; + localStorage.removeItem("domMar") } function setFilterDisabled(isToggle, isDelete) { if (isToggle) { @@ -618,13 +662,86 @@ 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; @@ -637,15 +754,9 @@ 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, @@ -657,10 +768,11 @@ }); if (circles){ circles.remove(); + //浠庢暟鎹簱鑾峰彇鍗婂緞 var level = map.getLevel(); var floor = map.getFloor(level); var panelSet; - if(personlist1[i][22] <=3 && personlist1[i][3] >0){ + if(personlist1[i][22] <=3 && personlist1[i][3] == 1 && personlist1[i][22] > 0){ //榛勮壊鍛婅鍖哄煙 panelSet = { height: 10, @@ -675,7 +787,7 @@ } /* 娣诲姞鍦嗗舰 */ - var circle_radius = 60; + var circle_radius = radioes; // segments 褰卞搷褰㈡垚鐨勫渾褰㈢殑杈规暟鍜岄《鐐规暟閲忥紝鏁板�艰秺澶у渾褰㈠湪瑙嗚涓婅秺 鈥欏钩婊戔�� var circle_segments = 500; var circle_center = { @@ -708,7 +820,7 @@ } /* 娣诲姞鍦嗗舰 */ - var circle_radius = 60; + var circle_radius = radioes; // segments 褰卞搷褰㈡垚鐨勫渾褰㈢殑杈规暟鍜岄《鐐规暟閲忥紝鏁板�艰秺澶у渾褰㈠湪瑙嗚涓婅秺 鈥欏钩婊戔�� var circle_segments = 500; var circle_center = { @@ -741,7 +853,7 @@ } /* 娣诲姞鍦嗗舰 */ - var circle_radius = 60; + var circle_radius = radioes; // segments 褰卞搷褰㈡垚鐨勫渾褰㈢殑杈规暟鍜岄《鐐规暟閲忥紝鏁板�艰秺澶у渾褰㈠湪瑙嗚涓婅秺 鈥欏钩婊戔�� var circle_segments = 500; var circle_center = { @@ -760,9 +872,6 @@ } biaoqianidc[personlist1[i][0]] = circle; } - - - } else { // 濡傛灉鏍囪涓嶅瓨鍦紝鍒欐坊鍔爉arker fmarker = new fengmap.FMImageMarker({ @@ -782,20 +891,32 @@ 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 - }); + 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){ + if(personlist1[i][22] <=3 && personlist1[i][3] == 1 && personlist1[i][22] > 0){ //榛勮壊鍛婅鍖哄煙 panelSet = { height: 10, @@ -810,7 +931,7 @@ } /* 娣诲姞鍦嗗舰 */ - var circle_radius = 60; + var circle_radius = radioes; // segments 褰卞搷褰㈡垚鐨勫渾褰㈢殑杈规暟鍜岄《鐐规暟閲忥紝鏁板�艰秺澶у渾褰㈠湪瑙嗚涓婅秺 鈥欏钩婊戔�� var circle_segments = 500; var circle_center = { @@ -843,7 +964,7 @@ } /* 娣诲姞鍦嗗舰 */ - var circle_radius = 60; + var circle_radius = radioes; // segments 褰卞搷褰㈡垚鐨勫渾褰㈢殑杈规暟鍜岄《鐐规暟閲忥紝鏁板�艰秺澶у渾褰㈠湪瑙嗚涓婅秺 鈥欏钩婊戔�� var circle_segments = 500; var circle_center = { @@ -876,7 +997,7 @@ } /* 娣诲姞鍦嗗舰 */ - var circle_radius = 60; + var circle_radius = radioes; // segments 褰卞搷褰㈡垚鐨勫渾褰㈢殑杈规暟鍜岄《鐐规暟閲忥紝鏁板�艰秺澶у渾褰㈠湪瑙嗚涓婅秺 鈥欏钩婊戔�� var circle_segments = 500; var circle_center = { @@ -919,6 +1040,24 @@ 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> -- Gitblit v1.9.3