| | |
| | | |
| | | return listView; |
| | | } |
| | | |
| | | moralMap.MoralMarker = function (option) { |
| | | var _option = option; |
| | | var _pointObj = new BMap.Point(_option['longitude'], _option['latitude']); |
| | |
| | | }) |
| | | } |
| | | |
| | | 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) { |
| | | //状态发生变化的时候设置图标风向 |
| | | 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; |
| | |
| | | } |
| | | } |
| | | } |
| | | 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) { |