From 3d76bad0a7562441d75768f7e4e677f686037582 Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Tue, 01 Dec 2020 13:16:09 +0800 Subject: [PATCH] 实施页面hour-aqi更新 --- src/main/webapp/js/moralmap.js | 571 +++++++++++++++++++++++--------------------------------- 1 files changed, 233 insertions(+), 338 deletions(-) diff --git a/src/main/webapp/js/moralmap.js b/src/main/webapp/js/moralmap.js index 50524d8..049a8f8 100644 --- a/src/main/webapp/js/moralmap.js +++ b/src/main/webapp/js/moralmap.js @@ -27,18 +27,18 @@ * ������mac������������version */ // moralMap.getVersion = function(mac){ - // var version = null; - // $.ajax({ - // type:"get", - // url:"getversion?mac="+mac, - // async:false, - // success:function(jsonData){ - // if(jsonData!=null&&typeof jsonData=='object'){ - // version = jsonData['version']; - // } - // } - // }); - // return version; + // var version = null; + // $.ajax({ + // type:"get", + // url:"getversion?mac="+mac, + // async:false, + // success:function(jsonData){ + // if(jsonData!=null&&typeof jsonData=='object'){ + // version = jsonData['version']; + // } + // } + // }); + // return version; // } /* * ��������������������� @@ -72,7 +72,6 @@ // ���������������������������������������,��������������������� // ��������������������������� var myGeo = new BMap.Geocoder(); - address = address.replace(/\s*/g, ""); myGeo.getPoint(address, function (point) { if (point) { if ("���������" == cityName) { @@ -235,6 +234,10 @@ var longitude = 106.638135; var latitude = 29.709625; point = new BMap.Point(longitude, latitude); + }else if("���������" == regoinNames[2]){ + var longitude = 120.332826; + var latitude = 33.772274; + point = new BMap.Point(longitude, latitude); } map.centerAndZoom(point, showZoom); } else { @@ -289,8 +292,21 @@ //������key������������������ // var key = moralMap.lazyKeyer(); var confine = moralMap.getZoomConfine(); - moralMap.layer("equipments"); - moralMap.clearOverlays(); + if (endZoom > startZoom) { + //������������������ + if (endZoom >= confine && startZoom <= confine) { + //������������ + moralMap.layer("equipments"); + moralMap.clearOverlays(); + } + } else { + //������������������ + if (endZoom != startZoom && startZoom >= confine && endZoom < confine) { + //������������ + moralMap.layer("monitorpoints"); + moralMap.clearOverlays(); + } + } } moralMap.layer = (function () { var _layers = ["equipments", "monitorpoints"]; @@ -412,7 +428,7 @@ var timer = setTimeout(function () { baiduMap.closeInfoWindow.apply(baiduMap, arguments); moralMap["_closeInfoWinTimer"] = null; - }, 500); + }, 1200); moralMap["_closeInfoWinTimer"] = timer; } moralMap.clearOverlays = function () { @@ -661,7 +677,6 @@ return listView; } - moralMap.MoralMarker = function (option) { var _option = option; var _pointObj = new BMap.Point(_option['longitude'], _option['latitude']); @@ -713,80 +728,8 @@ } }) } - - - moralMap.WindMarker = function (option, moralMap) { - var _option = option; - var _pointObj = new BMap.Point(_option['longitude'], _option['latitude']); - 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"]) - }); - } - - this.constructor.call(this, _pointObj, { - icon: _iconObj, - offset: new BMap.Size(0, -11), - enableMassClear: true - }) - - - return $.extend(this, { - refreshWindDir: function (windDir, windSpeed) { - //��������������������������������������������� - 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 { - var iconObj = _getWindIcon(speedLevel); - this.setIcon(iconObj); - this.setRotation(windDir); - } - } - }, - getOption: function () { - return _option; - }, - setOption: function (option) { - _option = option; - }, - - }) - - } - //new BMap.Marker()������������IE7��������������������� moralMap.MoralMarker.prototype = new BMap.Marker(); - moralMap.WindMarker.prototype = new BMap.Marker(); //��������������� ������Mark������ moralMap.Monitorpoint = function (option) { if (monitorPointStates) { @@ -863,57 +806,21 @@ } } - - var sensorsDescriptionMap; - var sensorsUnitMap; - $.ajax({ - url: "getSensorsAllMap", - type: "get", - dataType: "json", - success: function (data) { - sensorsDescriptionMap = data[0]; - sensorsUnitMap = data[1]; - } - }); - - moralMap.Device = function (option) { - if (deviceStates) { - for (var i in deviceStates) { - var state = deviceStates[i]; - if (state.id == option.id) { - option.state = state.state; - } - } - } - 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"], data["e18"]); - } - }, - setData: function (data) { - var option = this.getOption(); - option["data"] = data; - this.setOption(option); - }, - getData: function () { - return this.getOption()["data"]; - } - }); - } - //���������mac���key������ //��������������� ������MoralMark������ moralMap.Equipment = function (option) { + var sensorsDescriptionMap; + var sensorsUnitMap; + $.ajax({ + url: "getSensorsMap?mac=" + option['mac'], + type: "get", + dataType: "json", + success: function (data) { + sensorsDescriptionMap = data[0]; + sensorsUnitMap = data[1]; + } + }); + if (deviceStates) { for (var i in deviceStates) { var state = deviceStates[i]; @@ -923,11 +830,15 @@ } } var icon = {}; - icon["stateIcons"] = ["/img/ico00.png", "/img/ico01.png", "/img/ico02.png", "/img/ico03.png", "/img/ico04.png"]; - icon["url"] = "/img/ico0"; + icon["stateIcons"] = ["/img/ico_coo00.png", "/img/ico_coo01.png", "/img/ico_coo02.png", "/img/ico_coo03.png", "/img/ico_coo04.png"]; + icon["url"] = "/img/ico_coo0"; icon["width"] = 50; - icon["height"] = 50; + icon["height"] = 60; option["icon"] = icon; + option["offline_width"] = 300; + option["offline_height"] = 80; + option["online_width"] = 355; + option["online_height"] = 385; var moralMarker = new moralMap.MoralMarker(option); // var mark =new BMap.Marker(pointObj,{icon:iconObj}); //==================infoWindow-start============================ @@ -960,55 +871,164 @@ return new BMap.InfoWindow("", winOpts); })(); + /*var infoWindow = (function() { + //��������������� + var winOpts = { + width: option["online_width"], // ������������������ + height:option["online_height"], // ������������������ + title: getTitleOutHtml(), // ������������������ + offset: new BMap.Size(-2, -10) //��������������������� + } + + function getTitleOutHtml() { + //title���������������... + var title = (option["name"] == null) ? "" : option["name"]; + if(title.length > 13) { + title = title.slice(0, 13) + "..."; + } + var titleOutHtml = ""; + titleOutHtml += "<p style='width:210px;font:bold 14px/16px arial,sans-serif;margin:0;color:#cc5522;white-space:nowrap;overflow:hidden'" + titleOutHtml += "title='" + option["name"] + "'>"; + titleOutHtml += title + "</p>"; + return titleOutHtml; + } + return new BMap.InfoWindow("", winOpts); + })(); + var dataHandle = { + _getDataOutHtml: function(data) { + if(data==null||data["state"]==4){ + return "<br/><h3>������������������������,������������������!</h3>"; + } + var mac = data['mac']; + var itme_mac_key = "item-" + mac + "-" + key; + var dataOutHtml = "<div id='"+itme_mac_key+"' class='equ-data-box'><ul class='equ-data-list'>"; + for(var key in data) { + if($.inArray(key,showSensorKeys)!=-1) { + var dataValue = data[key]; + var name = sensorNames[key][0]; + var unit = sensorNames[key][1]; + var itme_state = dataHandle._getSensorState(data, key); +// var itme_name_mac_key = "item-name-" + mac + "-" + key; + var itme_data_mac_key = "item-data-" + mac + "-" + key; + var item = "<li>"; + item += "<p>"+name+"</p>"; + item += "<span id='"+itme_data_mac_key+"' class='"+itme_state+"'>"+dataValue+"</span>"; + item += "<em>"+unit+"</em>"; + item += "</li>"; + dataOutHtml += item; + } + + } + dataOutHtml += "</ul></div>"; + return dataOutHtml; + }, + _getSensorState: function(data, key) { + var grade="grade"; + var levels; + if(data["level3"]!=null){ + levels = data["level3"] instanceof Array ? data["level3"]:JSON.parse(data["level3"]); + if($.inArray(key,levels)!=-1){ + return grade+"03"; + } + } + if(data["level2"] !=null){ + levels = data["level2"] instanceof Array ? data["level2"]:JSON.parse(data["level2"]); + if($.inArray(key,levels)!=-1){ + return grade+"02"; + } + } + if(data["level1"] !=null){ + levels = data["level1"] instanceof Array ? data["level1"]:JSON.parse(data["level1"]); + if($.inArray(key,levels)!=-1){ + return grade+"01"; + } + } + return grade+"00"; + } + };*/ + if (moralMarker["infoWindow"] == undefined) { moralMarker["infoWindow"] = infoWindow; } var mouseOverHandle = option['mouseover']; + //��������������������� + /*moralMarker.addEventListener("mouseover", function() { + if(mouseOverHandle!=null&&mouseOverHandle instanceof Function){ + //���arguments��������������� + var args = Array.prototype.slice.call(arguments); + mouseOverHandle.apply(this, args); + } + moralMap.closeSearchBox(); + baiduMap.openInfoWindow(infoWindow, this._point); //������������������ + if(infoWindow.getContent() == "") { + var data = this.getData(); + var option = this.getOption(); + if(data==null||data["state"]==4){ + infoWindow.setHeight(option["offline_height"]); + infoWindow.setWidth(option["offline_width"]); + }else{ + infoWindow.setHeight(option["online_height"]); + infoWindow.setWidth(option["online_width"]); + } + infoWindow.setContent(dataHandle._getDataOutHtml(data)); + infoWindow.redraw(); + } + }); + moralMarker.addEventListener("mouseout", function() { + baiduMap.closeInfoWindow(); + infoWindow.setContent(""); + moralMap.openSearchBox(); + });*/ 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 (!jsonData.hasOwnProperty('mac')) { infoWindow.setContent(""); infoWindow.redraw(); } else { - 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]; - } + var adressOutHtml = '<div style="min-height:20px;overflow:auto;max-height:400px;font-size: 12px;" onmouseover="moralMap.clearCloseInfoWindow()" onmouseout="moralMap.closeInfoWindow()">'; + var y, m, d, h, mm, s; + var date = new Date(jsonData['time']); + 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); //������������������ }*/ @@ -1016,6 +1036,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); + } moralMap.closeInfoWindow(); }); @@ -1030,6 +1058,37 @@ var state = this.getOption()["state"]; this.setData(data); //������������ _super_refreshState.call(this, data["state"]); + //������������������������������,������������������������ + /*if(infoWindow.isOpen()) { + if(data["state"]==4){ + if(state!=4){ + infoWindow.setHeight(option["offline_height"]); + infoWindow.setWidth(option["offline_width"]); + infoWindow.setContent(dataHandle._getDataOutHtml(data)); + infoWindow.redraw(); + } + return; + } + var mac = data["mac"]; + var itme_mac_key = "#item-" + mac + "-" + key; + if($(itme_mac_key).length==0){ + infoWindow.setHeight(option["online_height"]); + infoWindow.setWidth(option["online_width"]); + infoWindow.setContent(dataHandle._getDataOutHtml(data)); + infoWindow.redraw(); + } + for(var key in data) { + if($.inArray(key,showSensorKeys)!=-1) { + var dataValue = data[key]; + var itme_state = dataHandle._getSensorState(data, key); + var itme_data_mac_key = "#item-data-" + mac + "-" + key; + if(!$(itme_data_mac_key).hasClass(itme_state)) { + $(itme_data_mac_key).attr("class", itme_state); + } + $(itme_data_mac_key).text(dataValue); + } + } + }*/ } }, setData: function (data) { @@ -1064,31 +1123,6 @@ moralMap.getEquipments = function (key) { return moralMap['_equipments']; } - - moralMap.putDevice = function (key, obj) { - if (key != null && key != "") { - key = String.prototype.toLowerCase.call(key); - if (moralMap['_devices'] == undefined) { - moralMap['_devices'] = {}; - } - moralMap['_devices'][key] = obj; - } - } - - moralMap.getDevice = function (key) { - if (key == null) { - return null; - } - key = String.prototype.toLowerCase.call(key); - if (typeof moralMap['_devices'] === 'object') { - return moralMap['_devices'][key]; - } - } - - moralMap.getDevices = function (key) { - return moralMap['_devices']; - } - moralMap.clearEquipments = function () { if (moralMap['_equipments'] != undefined) { delete moralMap['_equipments']; @@ -1122,53 +1156,12 @@ 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); - } } } } } return markers; } - - moralMap.getHorizonWindMarkers = function (isShow) { - var bounds = moralMap.getBounds(); - var oldWindMarkerList; - var isShow = (isShow) ? baiduMap : null; - if (moralMap.layer() == "equipments") { - oldWindMarkerList = moralMap.getDevices(); - } - var markers = []; - if (oldWindMarkerList != null && typeof oldWindMarkerList == "object") { - for (var i in oldWindMarkerList) { - var oldWindMarker = oldWindMarkerList[i]; - if (oldWindMarker != null && oldWindMarker instanceof BMap.Overlay && oldWindMarker.getMap() == isShow) { - var option = oldWindMarker.getOption(); - if (typeof option == 'object') { - var longitude = option['longitude']; - var latitude = option['latitude']; - // ������������������������������������ - if (longitude < bounds.northeastLng && longitude > bounds.southwestLng && latitude < bounds.northeastLat && latitude > bounds.southwestLat) { - markers.push(oldWindMarker); - } - } - } - } - } - return markers; - } - moralMap.showPointMonitor = function (id) { var mpointMarker = moralMap.getMpoint(id); var mpoint = mpointMarker.getOption(); @@ -1222,57 +1215,7 @@ var deviceStates; var monitorPointStates; - 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: "get", - 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); + moralMap.refreshState = function (states) { monitorPointStates = states; deviceStates = []; for (var i in states) { @@ -1297,54 +1240,6 @@ equipment.refreshState(marker); } } - } - } - - - 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"]; - var device = moralMap.getDevice(mac); - if (device) { - device.refreshWindDir(deviceInfo); } } -- Gitblit v1.8.0