From 9a3d7f190717a6e3af608ffa0d78c66b6bcc0e8a Mon Sep 17 00:00:00 2001 From: 于紫祥_1901 <email@yuzixiang_1910> Date: Thu, 10 Sep 2020 15:23:07 +0800 Subject: [PATCH] 因子对比 --- src/main/webapp/js/newmoralmap.js | 155 +++++++++++++++++++++++++++++++++++---------------- 1 files changed, 107 insertions(+), 48 deletions(-) diff --git a/src/main/webapp/js/newmoralmap.js b/src/main/webapp/js/newmoralmap.js index 3a90815..3de9fe4 100644 --- a/src/main/webapp/js/newmoralmap.js +++ b/src/main/webapp/js/newmoralmap.js @@ -644,6 +644,7 @@ return listView; } + moralMap.MoralMarker = function (option) { var _option = option; var _pointObj = new BMap.Point(_option['longitude'], _option['latitude']); @@ -696,21 +697,61 @@ }) } - moralMap.WindMarker = function (option, target) { + moralMap.WindMarker = function (option, moralMap) { var _option = option; var _pointObj = new BMap.Point(_option['longitude'], _option['latitude']); - var _iconObj = new BMap.Icon("/img/wind_dir.png", new BMap.Size(25, 25)); + var _iconObj = _getWindIcon(1); 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"]) + }); + } this.constructor.call(this, _pointObj, { icon: _iconObj, - offset: new BMap.Size(0, -35), + offset: new BMap.Size(0, -11), enableMassClear: true }) return $.extend(this, { - refreshWindDir: function (windDir) { + refreshWindDir: function (windDir, windSpeed) { //��������������������������������������������� - this.setRotation(windDir); + if (windDir == undefined || windSpeed == undefined) { + moralMap.removeOverlay(this); + } else { + 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; + } + if (speedLevel == 0) { + moralMap.removeOverlay(this); + } else { + moralMap.addOverlay(this); + var iconObj = _getWindIcon(speedLevel); + this.setIcon(iconObj); + this.setRotation(windDir); + } + } }, getOption: function () { return _option; @@ -805,7 +846,7 @@ var sensorsDescriptionMap; var sensorsUnitMap; $.ajax({ - url: "getSensorsMap", + url: "getSensorsAllMap", type: "get", dataType: "json", success: function (data) { @@ -823,14 +864,19 @@ } } } - var windMarker = new moralMap.WindMarker(option); + var windIcon = {}; + windIcon["url"] = "/img/icoWind0"; + windIcon["width"] = 25; + windIcon["height"] = 25; + option["windIcon"] = windIcon; + var windMarker = new moralMap.WindMarker(option, moralMap); moralMap.putDevice(option['mac'], windMarker); var refreshWindMarker = windMarker.refreshWindDir; return $.extend(windMarker, { refreshWindDir: function (data) { if (data != null && data != "") { this.setData(data); //������������ - refreshWindMarker.call(this, data["e23"]); + refreshWindMarker.call(this, data["e23"], data["e18"]); } }, setData: function (data) { @@ -898,7 +944,7 @@ } var mouseOverHandle = option['mouseover']; moralMarker.addEventListener("mouseover", function () { - /* var obj = {}; + var obj = {}; obj['methodName'] = 'deliverMac'; obj['mac'] = option['mac']; var objStr = JSON.stringify(obj); @@ -906,51 +952,51 @@ window['external'].callWin(objStr); } else { alert(objStr); - }*/ + } moralMap.showSensors = function (jsonData) { - var deviceSensors = jsonData; - var mac = deviceSensors["mac"]; - if (mac == option['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]; - } + /* var deviceSensors = jsonData; + var mac = deviceSensors["mac"]; + if (mac == option['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 = ""; - } - } - } - adressOutHtml += ('<p style="height: 18px;line-height: 18px">' + sensorsDescription + "���" + jsonData[prop] + sensorsUnit + "</p>"); } + 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 += "</div>"; - infoWindow.setContent(adressOutHtml); - infoWindow.redraw(); } + adressOutHtml += "</div>"; + infoWindow.setContent(adressOutHtml); + infoWindow.redraw(); } } + // } /* if (!$.isEmptyObject(sensorInfo)) { moralMap.openInfoWindow(infoWindow, this._point); //������������������ }*/ @@ -958,14 +1004,14 @@ }); moralMarker.addEventListener("mouseout", function () { - /* var obj = {}; + 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(); }); @@ -1072,6 +1118,19 @@ if (longitude < bounds.northeastLng && longitude > bounds.southwestLng && latitude < bounds.northeastLat && latitude > bounds.southwestLat) { markers.push(oldmarker); } + 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("���������"===option["monitorPoint"]["description"]){ + var icon06 = new BMap.Icon("/img/ico06.png", new BMap.Size(50, 50)); + var mark06 = new BMap.Marker(new BMap.Point(option["monitorPoint"]["longitude"], option["monitorPoint"]["latitude"]), {icon: icon06}); + markers.push(mark06); + }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(option["monitorPoint"]["longitude"], option["monitorPoint"]["latitude"]), {icon: icon08}); + markers.push(mark08); + } } } } -- Gitblit v1.8.0