From 28f0818ba47d9d3f0f3c187356fa89cba2db748a Mon Sep 17 00:00:00 2001 From: 于紫祥_1901 <email@yuzixiang_1910> Date: Mon, 26 Oct 2020 16:06:58 +0800 Subject: [PATCH] 设备图标增加和风场风向计算更新 --- src/main/webapp/js/newmoralmap.js | 203 +++++++++++++++++++++++++++++++++++--------------- 1 files changed, 142 insertions(+), 61 deletions(-) diff --git a/src/main/webapp/js/newmoralmap.js b/src/main/webapp/js/newmoralmap.js index fc5b556..9cdac74 100644 --- a/src/main/webapp/js/newmoralmap.js +++ b/src/main/webapp/js/newmoralmap.js @@ -56,6 +56,7 @@ // ���������������������������������������,��������������������� // ��������������������������� var myGeo = new BMap.Geocoder(); + address = address.replace(/\s*/g, ""); myGeo.getPoint(address, function (point) { if (point) { if ("���������" == cityName) { @@ -395,7 +396,7 @@ var timer = setTimeout(function () { baiduMap.closeInfoWindow.apply(baiduMap, arguments); moralMap["_closeInfoWinTimer"] = null; - }, 1200); + }, 500); moralMap["_closeInfoWinTimer"] = timer; } moralMap.clearOverlays = function () { @@ -656,7 +657,11 @@ state = state == null ? 0 : state; var icon = _option["icon"]; //var url = icon["stateIcons"][state]; - var url = icon["url"] + state + ".png"; + if (state==5 || state==6){ + var url = icon["url"] + "0"+state + ".png"; + }else { + var url = icon["url"] + state + ".png"; + } return new BMap.Icon(url, new BMap.Size(icon["width"], icon["height"]), { imageSize: new BMap.Size(icon["width"], icon["height"]) }); @@ -697,16 +702,18 @@ }) } + moralMap.WindMarker = function (option, moralMap) { var _option = option; var _pointObj = new BMap.Point(_option['longitude'], _option['latitude']); - var _iconObj = _getWindIcon(1); + var _iconObj = _getWindIcon(0); this._point = _pointObj; function _getWindIcon(speedLevel) { speedLevel = speedLevel == null ? 0 : speedLevel; var windIcon = _option["windIcon"]; var windUrl = windIcon["url"] + speedLevel + ".png"; + return new BMap.Icon(windUrl, new BMap.Size(windIcon["width"], windIcon["height"]), { imageSize: new BMap.Size(windIcon["width"], windIcon["height"]) }); @@ -717,6 +724,8 @@ offset: new BMap.Size(0, -11), enableMassClear: true }) + + return $.extend(this, { refreshWindDir: function (windDir, windSpeed) { //��������������������������������������������� @@ -746,7 +755,6 @@ if (speedLevel == 0) { moralMap.removeOverlay(this); } else { - moralMap.addOverlay(this); var iconObj = _getWindIcon(speedLevel); this.setIcon(iconObj); this.setRotation(windDir); @@ -758,7 +766,8 @@ }, setOption: function (option) { _option = option; - } + }, + }) } @@ -777,7 +786,7 @@ } } var icon = {}; - icon["stateIcons"] = ["/img/ico00.png", "/img/ico01.png", "/img/ico02.png", "/img/ico03.png", "/img/ico04.png"]; + icon["stateIcons"] = ["/img/ico00.png", "/img/ico01.png", "/img/ico02.png", "/img/ico03.png", "/img/ico04.png","/img/ico05.png", "/img/ico06.png"]; icon["url"] = "/img/ico0"; icon["width"] = 50; icon["height"] = 50; @@ -902,7 +911,7 @@ } } var icon = {}; - icon["stateIcons"] = ["/img/ico00.png", "/img/ico01.png", "/img/ico02.png", "/img/ico03.png", "/img/ico04.png"]; + icon["stateIcons"] = ["/img/ico00.png", "/img/ico01.png", "/img/ico02.png", "/img/ico03.png", "/img/ico04.png","/img/ico005.png", "/img/ico006.png"]; icon["url"] = "/img/ico0"; icon["width"] = 50; icon["height"] = 50; @@ -944,56 +953,47 @@ } var mouseOverHandle = option['mouseover']; moralMarker.addEventListener("mouseover", function () { - var obj = {}; - obj['methodName'] = 'deliverMac'; - obj['mac'] = option['mac']; - var objStr = JSON.stringify(obj); - if (!!window['external'] && !!window['external']['callWin']) { - window['external'].callWin(objStr); - } else { - alert(objStr); - } - moralMap.showSensors = function (jsonData) { - /* var deviceSensors = jsonData; - var mac = deviceSensors["mac"]; - if (mac == option['mac']) {*/ + var deviceSensors = jsonData; + var mac = deviceSensors["mac"]; if (!jsonData.hasOwnProperty('mac')) { infoWindow.setContent(""); infoWindow.redraw(); } else { - var adressOutHtml = '<div style="min-height:20px;overflow:auto;max-height:480px;font-size: 12px;" onmouseover="moralMap.clearCloseInfoWindow()" onmouseout="moralMap.closeInfoWindow()">'; - var y, m, d, h, mm, s; - var date = new Date($.now()); - y = 1900 + date.getYear(); - m = "0" + (date.getMonth() + 1); - d = "0" + date.getDate(); - h = "0" + date.getHours(); - mm = "0" + date.getMinutes(); - s = "0" + date.getSeconds(); - date = y + "-" + m.substring(m.length - 2, m.length) + "-" + d.substring(d.length - 2, d.length) + " " + h.substring(h.length - 2, h.length) + ":" + mm.substring(mm.length - 2, mm.length) + ":" + s.substring(s.length - 2, s.length); - adressOutHtml += '<p style="height: 18px;line-height: 18px">' + "��������� " + date + " </p>"; - for (var prop in jsonData) { - if (jsonData.hasOwnProperty(prop) && prop != 'ver' && prop != 'methodName' && prop != 'mac' && prop != 'time') { - for (var key in sensorsDescriptionMap) { - if (prop == key) { - var sensorsDescription = sensorsDescriptionMap[key]; - } - } - for (var key in sensorsUnitMap) { - if (prop == key) { - var sensorsUnit = sensorsUnitMap[key]; - if (sensorsUnit == null) { - sensorsUnit = ""; + if (mac == option['mac']) { + var adressOutHtml = '<div style="min-height:20px;overflow:auto;max-height:480px;font-size: 12px;" onmouseover="moralMap.clearCloseInfoWindow()" onmouseout="moralMap.closeInfoWindow()">'; + var y, m, d, h, mm, s; + var date = new Date($.now()); + y = 1900 + date.getYear(); + m = "0" + (date.getMonth() + 1); + d = "0" + date.getDate(); + h = "0" + date.getHours(); + mm = "0" + date.getMinutes(); + s = "0" + date.getSeconds(); + date = y + "-" + m.substring(m.length - 2, m.length) + "-" + d.substring(d.length - 2, d.length) + " " + h.substring(h.length - 2, h.length) + ":" + mm.substring(mm.length - 2, mm.length) + ":" + s.substring(s.length - 2, s.length); + adressOutHtml += '<p style="height: 18px;line-height: 18px">' + "��������� " + date + " </p>"; + for (var prop in jsonData) { + if (jsonData.hasOwnProperty(prop) && prop != 'ver' && prop != 'methodName' && prop != 'mac' && prop != 'time') { + for (var key in sensorsDescriptionMap) { + if (prop == key) { + var sensorsDescription = sensorsDescriptionMap[key]; } } + for (var key in sensorsUnitMap) { + if (prop == key) { + var sensorsUnit = sensorsUnitMap[key]; + if (sensorsUnit == null) { + sensorsUnit = ""; + } + } + } + adressOutHtml += ('<p style="height: 18px;line-height: 18px">' + sensorsDescription + "���" + jsonData[prop] + sensorsUnit + "</p>"); } - adressOutHtml += ('<p style="height: 18px;line-height: 18px">' + sensorsDescription + "���" + jsonData[prop] + sensorsUnit + "</p>"); } + adressOutHtml += "</div>"; + infoWindow.setContent(adressOutHtml); + infoWindow.redraw(); } - adressOutHtml += "</div>"; - infoWindow.setContent(adressOutHtml); - infoWindow.redraw(); } } // } @@ -1004,14 +1004,6 @@ }); moralMarker.addEventListener("mouseout", function () { - var obj = {}; - obj['methodName'] = 'stopDeliverMac'; - var objStr = JSON.stringify(obj); - if (!!window['external'] && !!window['external']['callWin']) { - window['external'].callWin(objStr); - } else { - alert(objStr); - } moralMap.closeInfoWindow(); }); @@ -1118,17 +1110,17 @@ if (longitude < bounds.northeastLng && longitude > bounds.southwestLng && latitude < bounds.northeastLat && latitude > bounds.southwestLat) { markers.push(oldmarker); } - if("���������"===option["monitorPoint"]["description"]){ + if ("���������" === option["monitorPoint"]["description"]) { var icon05 = new BMap.Icon("/img/ico05.png", new BMap.Size(50, 50)); var mark05 = new BMap.Marker(new BMap.Point(option["monitorPoint"]["longitude"], option["monitorPoint"]["latitude"]), {icon: icon05}); markers.push(mark05); - }else if("���������"===obj["monitorPoint"]["description"]){ + } else if ("���������" === option["monitorPoint"]["description"]) { var icon06 = new BMap.Icon("/img/ico06.png", new BMap.Size(50, 50)); - var mark06 = new BMap.Marker(new BMap.Point(obj["monitorPoint"]["longitude"], obj["monitorPoint"]["latitude"]), {icon: icon06}); + var mark06 = new BMap.Marker(new BMap.Point(option["monitorPoint"]["longitude"], option["monitorPoint"]["latitude"]), {icon: icon06}); markers.push(mark06); - }else if("���������"===obj["monitorPoint"]["description"]){ + } else if ("���������" === option["monitorPoint"]["description"]) { var icon08 = new BMap.Icon("/img/ico08.png", new BMap.Size(50, 50)); - var mark08 = new BMap.Marker(new BMap.Point(obj["monitorPoint"]["longitude"], obj["monitorPoint"]["latitude"]), {icon: icon08}); + var mark08 = new BMap.Marker(new BMap.Point(option["monitorPoint"]["longitude"], option["monitorPoint"]["latitude"]), {icon: icon08}); markers.push(mark08); } } @@ -1218,7 +1210,57 @@ var deviceStates; var monitorPointStates; - moralMap.refreshState = function (states) { + moralMap.refreshState = function (states, orgId, regionCode, accountId) { + var state = JSON.stringify(states); + var state1 = $(".pp2").html() + var paramMap = {}; + var abc = ''; + paramMap["orgId"] = orgId; + paramMap["regionCode"] = regionCode; + paramMap["accountId"] = accountId; + paramMap["states"] = state; + paramMap["states1"] = state1; + $.ajax({ + url: "/screen/tellAlarm", + type: "post", + dataType: "json", + data: paramMap, + success: function (info) { + var alarm = JSON.parse(JSON.stringify(info)); + if (alarm.length > 0) { + $("#box").attr("style", "display:block;");//������div + $("#tou").attr("style", "display:block;color: #d9534f;font-size: 20px;");//������div + for (var i = 0; i < alarm.length; i++) { + var text = "<span style='line-height: 25px><p style='line-height: 25px'>"; + var lookString = alarm[i][0]["time"] + " " + alarm[i][0]["name"]; + for (var j = 0; j < alarm[i].length; j++) { + var value = ""; + if (alarm[i].length > 1) { + if (j == 0) { + value = alarm[i][j]["sensor"] + "=" + alarm[i][j]["value"]; + lookString = lookString + value; + } else { + value = alarm[i][j]["sensor"] + "=" + alarm[i][j]["value"]; + lookString = lookString + "," + value; + } + } else { + value = alarm[i][j]["sensor"] + "=" + alarm[i][j]["value"]; + lookString = lookString + value; + } + text = text + lookString + "������" + "</p><hr></hr></span>"; + $("#box1").prepend(text); + } + + } + for (var j = 0; j < $("#box1").children("span").length; j++) { + if ($("#box1").children("span").length > 50) { + $("#box1 span:last").remove() ; + } + } + } + }, + }) + state1 = $(".pp2").html(state); monitorPointStates = states; deviceStates = []; for (var i in states) { @@ -1246,6 +1288,45 @@ } } + + moralMap.getRoad = function (data, regionCode) { + + var wind = data["e23"]; + var mac = data["mac"]; + var windSpeed = data["e18"]; + var speedLevel; + if (windSpeed >= 0 && windSpeed <= 0.2) { + speedLevel = 0; + } else if (windSpeed > 0.2 && windSpeed <= 1.5) { + speedLevel = 1; + } else if (windSpeed > 1.5 && windSpeed <= 3.3) { + speedLevel = 2; + } else if (windSpeed > 3.3 && windSpeed <= 5.4) { + speedLevel = 3; + } else if (windSpeed > 5.4 && windSpeed <= 7.9) { + speedLevel = 4; + } else if (windSpeed > 7.9 && windSpeed <= 10.7) { + speedLevel = 5; + } else if (windSpeed > 10.7 && windSpeed <= 13.8) { + speedLevel = 6; + } else if (windSpeed > 13.8 && windSpeed <= 17.1) { + speedLevel = 7; + } else if (windSpeed > 17.1) { + speedLevel = 8; + } + + $.ajax({ + url: "/screen/getAlarm", + type: "get", + dataType: "json", + data: {"windData": wind, "code": regionCode, "mac": mac, "speedLevel": speedLevel}, + success: function (info) { + console.log("---------------" + info); + }, + + }) + } + moralMap.refreshWindDir = function (devicesInfo) { var deviceInfo = devicesInfo; var mac = deviceInfo["mac"]; -- Gitblit v1.8.0