From f55f6e05bae945d275101592782fb3b8980d77cf Mon Sep 17 00:00:00 2001 From: ZhuDongming <773644075@qq.com> Date: Sun, 28 Jun 2020 15:26:47 +0800 Subject: [PATCH] update风速风向显示设置 --- src/main/webapp/js/newmoralmap.js | 93 ++++++++++++++++++++++++++++++++++------------ 1 files changed, 69 insertions(+), 24 deletions(-) diff --git a/src/main/webapp/js/newmoralmap.js b/src/main/webapp/js/newmoralmap.js index 3a90815..addf8f6 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,60 @@ }) } - 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 icon = _option["icon"]; + var url = icon["url"] + speedLevel + ".png"; + return new BMap.Icon(url, new BMap.Size(icon["width"], icon["height"]), { + imageSize: new BMap.Size(icon["width"], icon["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.0 && windSpeed <= 0.2) { + speedLevel = 0; + } else if (windSpeed >= 0.3 && windSpeed <= 1.5) { + speedLevel = 1; + } else if (windSpeed >= 1.6 && windSpeed <= 3.3) { + speedLevel = 2; + } else if (windSpeed >= 3.4 && windSpeed <= 5.4) { + speedLevel = 3; + } else if (windSpeed >= 5.5 && windSpeed <= 7.9) { + speedLevel = 4; + } else if (windSpeed >= 8.0 && windSpeed <= 10.7) { + speedLevel = 5; + } else if (windSpeed >= 10.8 && windSpeed <= 13.8) { + speedLevel = 6; + } else if (windSpeed >= 13.9 && windSpeed <= 17.1) { + speedLevel = 7; + } else if (windSpeed >= 17.2) { + speedLevel = 8; + } + } + if (speedLevel == 0) { + moralMap.removeOverlay(this); + } else { + var iconObj = _getWindIcon(speedLevel); + this.setIcon(iconObj); + this.setRotation(windDir); + } }, getOption: function () { return _option; @@ -823,14 +863,19 @@ } } } - var windMarker = new moralMap.WindMarker(option); + var icon = {}; + icon["url"] = "/img/icoWind0"; + icon["width"] = 25; + icon["height"] = 25; + option["icon"] = icon; + 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,15 +943,15 @@ } 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); - }*/ + /* 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; @@ -958,14 +1003,14 @@ }); 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); - }*/ + /* 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(); }); -- Gitblit v1.8.0