From 9e4480300d1285a574d52451206c5adc81396be4 Mon Sep 17 00:00:00 2001 From: 于紫祥_1901 <email@yuzixiang_1910> Date: Mon, 13 Jul 2020 09:36:17 +0800 Subject: [PATCH] 无组织排放实时 --- src/main/webapp/js/moralmap.js | 2050 ++++++++++++++++++++++++++++++++------------------------- 1 files changed, 1,152 insertions(+), 898 deletions(-) diff --git a/src/main/webapp/js/moralmap.js b/src/main/webapp/js/moralmap.js index bc42550..4ec747c 100644 --- a/src/main/webapp/js/moralmap.js +++ b/src/main/webapp/js/moralmap.js @@ -1,989 +1,1243 @@ -(function($, BMap, window) { - var sensorNames = { - "e1": ["PM2.5", "ug/m3"], - "e2": ["PM10", "ug/m3"], - "e3": ["���������0.3", "PCS/0.1L"], - "e4": ["���������2.5", "PCS/0.1L"], - "e5": ["������", "mg/m3"], - "e6": ["������", "%"], - "e7": ["������", "���"], - "e8": ["������", "%"], - "e9": ["������", "mg/m3"], - "e10": ["������������", "mg/m3"], - "e11": ["������������", "ug/m3"], - "e12": ["������", "Lux"], - "e13": ["������", "dB"], - "e14": ["������", "mg/m3"], - "e15": ["������", "ug/m3"], - "e16": ["������������", "ug/m3"], - "e17": ["������������������", "PPB"], - "e18": ["������", "m/s"], - "e19": ["������������", "mg/m3"] - } - var showSensorKeys=["e1","e2","e10","e11","e15","e16"]; - var moralMap = {}; - var baiduMap = null; - /* - * ������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; - // } - /* - * ��������������������� - */ - moralMap.mapInit = function() { - var defaultParam = { +(function ($, BMap, window) { + var sensorNames = { + "e1": ["PM2.5", "ug/m3"], + "e2": ["PM10", "ug/m3"], + "e3": ["���������0.3", "PCS/0.1L"], + "e4": ["���������2.5", "PCS/0.1L"], + "e5": ["������", "mg/m3"], + "e6": ["������", "%"], + "e7": ["������", "���"], + "e8": ["������", "%"], + "e9": ["������", "mg/m3"], + "e10": ["������������", "mg/m3"], + "e11": ["������������", "ug/m3"], + "e12": ["������", "Lux"], + "e13": ["������", "dB"], + "e14": ["������", "mg/m3"], + "e15": ["������", "ug/m3"], + "e16": ["������������", "ug/m3"], + "e17": ["������������������", "PPB"], + "e18": ["������", "m/s"], + "e19": ["������������", "mg/m3"] + } + var showSensorKeys = ["e1", "e2", "e10", "e11", "e15", "e16"]; + var moralMap = {}; + var baiduMap = null; + /* + * ������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; + // } + /* + * ��������������������� + */ + moralMap.mapInit = function () { + var defaultParam = { minZoom: 12, - maxZoom: 20 + maxZoom: 20, + enableMapClick: false }; - if(!!arguments[1]) { - $.extend(defaultParam,arguments[1]); + if (!!arguments[1]) { + $.extend(defaultParam, arguments[1]); } - baiduMap = new BMap.Map("mapCanvas",defaultParam); // ������Map������,���������������������������/��������� - var map = baiduMap; - var mapStyle = { - features: ["road", "building", "water", "land"], //������������������poi - style: "normal" //������������������������������ - } - map.setMapStyle(mapStyle); + baiduMap = new BMap.Map("mapCanvas", defaultParam); // ������Map������,���������������������������/��������� + var map = baiduMap; + var mapStyle = { + features: ["road", "building", "water", "land"], //������������������poi + style: "normal" //������������������������������ + } + map.setMapStyle(mapStyle); var showZoom = !!arguments[2] - && arguments[2] <=defaultParam.maxZoom - && arguments[2] >= defaultParam.minZoom?arguments[2]:12; + && arguments[2] <= defaultParam.maxZoom + && arguments[2] >= defaultParam.minZoom ? arguments[2] : 12; var address = arguments[0]; var regoinNames = address.split(" "); - var cityName = regoinNames.length>1?regoinNames[1]:regoinNames[0]; + var cityName = regoinNames.length > 1 ? regoinNames[1] : regoinNames[0]; + if (cityName == "���������" || cityName == "���" || cityName == "���������������������������") { + cityName = regoinNames[2]; + } map.setCurrentCity(cityName); - // ���������������������������������������,��������������������� - // ��������������������������� - var myGeo = new BMap.Geocoder(); - myGeo.getPoint(address, function(point){ - if (point) { - map.centerAndZoom(point, showZoom); - }else{ - alert("������������������������������������!"); + // ���������������������������������������,��������������������� + // ��������������������������� + var myGeo = new BMap.Geocoder(); + myGeo.getPoint(address, function (point) { + if (point) { + if ("���������" == cityName) { + var longitude = 113.30640743; + var latitude = 40.08256467; + point = new BMap.Point(longitude, latitude); + } else if ("������������" == cityName) { + var longitude = 105.733648; + var latitude = 38.858951; + point = new BMap.Point(longitude, latitude); + } else if ("���������������" == cityName) { + var longitude = 113.136019; + var latitude = 41.001403; + point = new BMap.Point(longitude, latitude); + } else if ("���������" == cityName) { + var longitude = 104.647678; + var latitude = 28.758767; + point = new BMap.Point(longitude, latitude); + } else if ("������������" == cityName) { + var longitude = 92.056768; + var latitude = 31.482684; + point = new BMap.Point(longitude, latitude); + } else if ("���������" == cityName) { + var longitude = 105.930055; + var latitude = 29.363305; + point = new BMap.Point(longitude, latitude); + } else if ("���������" == cityName) { + var longitude = 105.727253; + var latitude = 29.714369; + point = new BMap.Point(longitude, latitude); + } else if ("���������" == cityName) { + var longitude = 106.061728; + var latitude = 29.852264; + point = new BMap.Point(longitude, latitude); + } else if ("���������" == cityName) { + var longitude = 106.654609; + var latitude = 29.035883; + point = new BMap.Point(longitude, latitude); + } else if ("���������" == cityName) { + var longitude = 106.889359; + var latitude = 28.907664; + point = new BMap.Point(longitude, latitude); + } else if ("���������" == cityName) { + var longitude = 107.735181; + var latitude = 29.869663; + point = new BMap.Point(longitude, latitude); + } else if ("���������" == cityName) { + var longitude = 107.336118; + var latitude = 30.334042; + point = new BMap.Point(longitude, latitude); + } else if ("������" == cityName) { + var longitude = 108.04224; + var latitude = 30.30452; + point = new BMap.Point(longitude, latitude); + } else if ("���������" == cityName) { + var longitude = 108.671036; + var latitude = 31.953145; + point = new BMap.Point(longitude, latitude); + } else if ("���������" == cityName) { + var longitude = 109.576402; + var latitude = 31.40266; + point = new BMap.Point(longitude, latitude); + } else if ("���������" == cityName) { + var longitude = 109.879221; + var latitude = 31.087199; + point = new BMap.Point(longitude, latitude); + } else if ("���������" == cityName) { + var longitude = 109.468749; + var latitude = 31.024849; + point = new BMap.Point(longitude, latitude); + } else if ("������������������������" == cityName) { + var longitude = 108.118685; + var latitude = 30.006859; + point = new BMap.Point(longitude, latitude); + } else if ("������������������������������" == cityName) { + var longitude = 108.17085; + var latitude = 29.301729; + point = new BMap.Point(longitude, latitude); + } else if ("������������������������������" == cityName) { + var longitude = 108.774583; + var latitude = 28.848811; + point = new BMap.Point(longitude, latitude); + } else if ("������������������������������" == cityName) { + var longitude = 109.011853; + var latitude = 28.454209; + point = new BMap.Point(longitude, latitude); + } else if ("���������" == cityName) { + var longitude = 108.656267; + var latitude = 19.101378; + point = new BMap.Point(longitude, latitude); + } else if ("���������" == cityName) { + var longitude = 110.397709; + var latitude = 18.799833; + point = new BMap.Point(longitude, latitude); + } else if ("������������" == cityName) { + var longitude = 109.522965; + var latitude = 18.782911; + point = new BMap.Point(longitude, latitude); + } else if ("���������" == cityName) { + var longitude = 110.47882; + var latitude = 19.265073; + point = new BMap.Point(longitude, latitude); + } else if ("���������" == cityName) { + var longitude = 110.105702; + var latitude = 19.358194; + point = new BMap.Point(longitude, latitude); + } else if ("���������" == cityName) { + var longitude = 110.363233; + var latitude = 19.686848; + point = new BMap.Point(longitude, latitude); + } else if ("���������" == cityName) { + var longitude = 110.803934; + var latitude = 19.549335; + point = new BMap.Point(longitude, latitude); + } else if ("���������" == cityName) { + var longitude = 110.010636; + var latitude = 19.745166; + point = new BMap.Point(longitude, latitude); + } else if ("���������" == cityName) { + var longitude = 109.693419; + var latitude = 19.920291; + point = new BMap.Point(longitude, latitude); + } else if ("���������������������������" == cityName) { + var longitude = 109.702907; + var latitude = 18.647732; + point = new BMap.Point(longitude, latitude); + } else if ("���������������������" == cityName) { + var longitude = 110.045039; + var latitude = 18.513155; + point = new BMap.Point(longitude, latitude); + } else if ("���������������������������" == cityName) { + var longitude = 109.842786; + var latitude = 19.041625; + point = new BMap.Point(longitude, latitude); + } else if ("���������������������" == cityName) { + var longitude = 109.060164; + var latitude = 19.304817; + point = new BMap.Point(longitude, latitude); + } else if ("���������������������" == cityName) { + var longitude = 109.453447; + var latitude = 19.232744; + point = new BMap.Point(longitude, latitude); + } else if ("���������" == cityName) { + var longitude = 109.588035; + var latitude = 19.526327; + point = new BMap.Point(longitude, latitude); + } else if ("������������������������������" == cityName) { + var longitude = 103.380977; + var latitude = 23.380877; + point = new BMap.Point(longitude, latitude); + } else if ("���������������������������" == cityName) { + var longitude = 100.800568; + var latitude = 22.023519; + point = new BMap.Point(longitude, latitude); + } else if ("���������" == cityName) { + var longitude = 100.972567; + var latitude = 22.830712; + point = new BMap.Point(longitude, latitude); + } else if ("���������" == cityName) { + var longitude = 106.638135; + var latitude = 29.709625; + point = new BMap.Point(longitude, latitude); } - }, cityName); - //������������������ - map.enableScrollWheelZoom(true); - var navigation = new BMap.NavigationControl({ - anchor: BMAP_ANCHOR_BOTTOM_RIGHT, - type: BMAP_NAVIGATION_CONTROL_LARGE - }); - map.addControl(navigation); - } - moralMap.closeSearchBox = function() { - moralMap["_searchBoxKey"] = Math.random(); - $(".search_box").css("display", "none"); - } - //������������ - moralMap.openSearchBox = function() { - key = Math.random(); - moralMap["_searchBoxKey"] = key; - setTimeout(function() { - if(moralMap["_searchBoxKey"] == key) { - $(".search_box").css("display", "block"); - } - }, 1500); - } - /* - * ----------------������������------------------------ - */ - moralMap.addEventListener = function(type, fn) { - baiduMap.addEventListener(type, function() { - if(type == "zoomstart") { - moralMap._zoomStartHandle(); - } else if(type == "zoomend") { - moralMap._zoomEndHandle(); - } - fn.apply(baiduMap, arguments); - }); - } - moralMap._zoomStartHandle = function() { - baiduMap.closeInfoWindow(); - moralMap.startZoom(baiduMap.getZoom()); - } - moralMap._zoomEndHandle = function() { - if($(".search_box").css("display") == "none") { - moralMap.openSearchBox(); - } - var endZoom = baiduMap.getZoom(); - var startZoom = moralMap.startZoom(); - //������key������������������ - // var key = moralMap.lazyKeyer(); - var confine = moralMap.getZoomConfine(); - 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"]; - var _layer = "monitorpoints"; - return function(layer) { - if(layer == undefined) { - return _layer; - } else { - for(var i in _layers) { - if(layer == _layers[i]) { - _layer = layer; - } - } - } - } - })(); + map.centerAndZoom(point, showZoom); + } else { + alert("������������������������������������!"); + } + }, cityName); + //������������������ + map.enableScrollWheelZoom(true); + var navigation = new BMap.NavigationControl({ + anchor: BMAP_ANCHOR_BOTTOM_RIGHT, + type: BMAP_NAVIGATION_CONTROL_LARGE + }); + map.addControl(navigation); + } + moralMap.closeSearchBox = function () { + moralMap["_searchBoxKey"] = Math.random(); + $(".search_box").css("display", "none"); + } + //������������ + moralMap.openSearchBox = function () { + key = Math.random(); + moralMap["_searchBoxKey"] = key; + setTimeout(function () { + if (moralMap["_searchBoxKey"] == key) { + $(".search_box").css("display", "block"); + } + }, 1500); + } + /* + * ----------------������������------------------------ + */ + moralMap.addEventListener = function (type, fn) { + baiduMap.addEventListener(type, function () { + if (type == "zoomstart") { + moralMap._zoomStartHandle(); + } else if (type == "zoomend") { + moralMap._zoomEndHandle(); + } + fn.apply(baiduMap, arguments); + }); + } + moralMap._zoomStartHandle = function () { + baiduMap.closeInfoWindow(); + moralMap.startZoom(baiduMap.getZoom()); + } + moralMap._zoomEndHandle = function () { + if ($(".search_box").css("display") == "none") { + moralMap.openSearchBox(); + } + var endZoom = baiduMap.getZoom(); + var startZoom = moralMap.startZoom(); + //������key������������������ + // var key = moralMap.lazyKeyer(); + var confine = moralMap.getZoomConfine(); + 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"]; + var _layer = "monitorpoints"; + return function (layer) { + if (layer == undefined) { + return _layer; + } else { + for (var i in _layers) { + if (layer == _layers[i]) { + _layer = layer; + } + } + } + } + })(); // ��������������� moralMap.Bounds = function (baiduBounds) { - if(!!baiduBounds){ - this.northeastLng = baiduBounds.xl.lng;//��������������������������� - this.northeastLat = baiduBounds.xl.lat;//��������������������������� - this.southwestLng = baiduBounds.Ol.lng;//��������������������������������� - this.southwestLat = baiduBounds.Ol.lat;//��������������������������������� - }else{ + if (!!baiduBounds) { + this.northeastLng = baiduBounds.getNorthEast().lng;//��������������������������� + this.northeastLat = baiduBounds.getNorthEast().lat;//��������������������������� + this.southwestLng = baiduBounds.getSouthWest().lng;//��������������������������������� + this.southwestLat = baiduBounds.getSouthWest().lat;//��������������������������������� + } else { this.northeastLng = null;//��������������������������� this.northeastLat = null;//��������������������������� this.southwestLng = null;//��������������������������������� this.southwestLat = null;//��������������������������������� - } + } } - moralMap.getBounds = function() { - return new moralMap.Bounds(baiduMap.getBounds()); //������bounds; - } - moralMap.getMaxBounds = function() { - var key = "_" + moralMap.layer() + "_bounds"; - return this[key]; - } - moralMap.setMaxBounds = function(bs) { - var key = "_" + moralMap.layer() + "_bounds"; - var _bounds = !!this[key]?this[key]:new moralMap.Bounds(); //������������ - //������������������ - _bounds.northeastLng = _bounds.northeastLng || bs.northeastLng; - _bounds.northeastLat = _bounds.northeastLat || bs.northeastLat; - _bounds.southwestLng = _bounds.southwestLng || bs.southwestLng; - _bounds.southwestLat = _bounds.southwestLat || bs.southwestLat; - _bounds.northeastLng = bs.northeastLng > _bounds.northeastLng ? bs.northeastLng: _bounds.northeastLng; - _bounds.northeastLat = bs.northeastLat > _bounds.northeastLat ? bs.northeastLat: _bounds.northeastLat; - _bounds.southwestLng = bs.southwestLng < _bounds.southwestLng ? bs.southwestLng: _bounds.southwestLng; - _bounds.southwestLat = bs.southwestLat < _bounds.southwestLat ? bs.southwestLat: _bounds.southwestLat; - this[key] = _bounds; - } - moralMap.isOverBounds = function() { - var isOver = false; - var _bounds = moralMap.getMaxBounds(); //������������ - var bs = moralMap.getBounds(); //������������ - if(!_bounds) { - isOver = true; - moralMap.setMaxBounds(bs); - } else { - isOver = (bs.northeastLng > _bounds.northeastLng - || bs.northeastLat > _bounds.northeastLat - || bs.southwestLng < _bounds.southwestLng - || bs.southwestLat < _bounds.southwestLat); - if(isOver){ - moralMap.setMaxBounds(bs); - } - } + moralMap.getBounds = function () { + return new moralMap.Bounds(baiduMap.getBounds()); //������bounds; + } + moralMap.getMaxBounds = function () { + var key = "_" + moralMap.layer() + "_bounds"; + return this[key]; + } + moralMap.setMaxBounds = function (bs) { + var key = "_" + moralMap.layer() + "_bounds"; + var _bounds = !!this[key] ? this[key] : new moralMap.Bounds(); //������������ + //������������������ + _bounds.northeastLng = _bounds.northeastLng || bs.northeastLng; + _bounds.northeastLat = _bounds.northeastLat || bs.northeastLat; + _bounds.southwestLng = _bounds.southwestLng || bs.southwestLng; + _bounds.southwestLat = _bounds.southwestLat || bs.southwestLat; + _bounds.northeastLng = bs.northeastLng > _bounds.northeastLng ? bs.northeastLng : _bounds.northeastLng; + _bounds.northeastLat = bs.northeastLat > _bounds.northeastLat ? bs.northeastLat : _bounds.northeastLat; + _bounds.southwestLng = bs.southwestLng < _bounds.southwestLng ? bs.southwestLng : _bounds.southwestLng; + _bounds.southwestLat = bs.southwestLat < _bounds.southwestLat ? bs.southwestLat : _bounds.southwestLat; + this[key] = _bounds; + } + moralMap.isOverBounds = function () { + var isOver = false; + var _bounds = moralMap.getMaxBounds(); //������������ + var bs = moralMap.getBounds(); //������������ + if (!_bounds) { + isOver = true; + moralMap.setMaxBounds(bs); + } else { + isOver = (bs.northeastLng > _bounds.northeastLng + || bs.northeastLat > _bounds.northeastLat + || bs.southwestLng < _bounds.southwestLng + || bs.southwestLat < _bounds.southwestLat); + if (isOver) { + moralMap.setMaxBounds(bs); + } + } - return isOver; - } - moralMap.addOverlay = function(overlay) { - if(overlay.getMap() != baiduMap) { - // setTimeout(function(){ - baiduMap.addOverlay.call(baiduMap, overlay); - // },10); + return isOver; + } + moralMap.addOverlay = function (overlay) { + if (overlay.getMap() != baiduMap) { + // setTimeout(function(){ baiduMap.addOverlay.call(baiduMap, overlay); - } - } - moralMap.addOverlays = function(overlays) { - if(overlays != null && typeof overlays == 'object') { - for(var i in overlays) { - moralMap.addOverlay(overlays[i]); - } - } + // },10); + baiduMap.addOverlay.call(baiduMap, overlay); + } + } + moralMap.addOverlays = function (overlays) { + if (overlays != null && typeof overlays == 'object') { + for (var i in overlays) { + moralMap.addOverlay(overlays[i]); + } + } - } - moralMap.removeOverlay = function(overlay) { + } + moralMap.removeOverlay = function (overlay) { // baiduMap.removeOverlay(overlay); - baiduMap.removeOverlay.apply(baiduMap, arguments); - } - moralMap.removeOverlays = function(overlays) { - if(overlays != null && typeof overlays == 'object') { + baiduMap.removeOverlay.apply(baiduMap, arguments); + } + moralMap.removeOverlays = function (overlays) { + if (overlays != null && typeof overlays == 'object') { for (var i in overlays) { moralMap.removeOverlay(overlays[i]); } } - } - moralMap.getOverlays = function() { - var overLays = baiduMap.getOverlays.apply(baiduMap, arguments) - var moralMarker = []; - for(var i in overLays) { - if(overLays[i] instanceof BMap.Overlay) { - moralMarker.push(overLays[i]); - } - } - return moralMarker; - } - moralMap.clearCloseInfoWindow = function () { - if(!!moralMap["_closeInfoWinTimer"]){ + } + moralMap.getOverlays = function () { + var overLays = baiduMap.getOverlays.apply(baiduMap, arguments) + var moralMarker = []; + for (var i in overLays) { + if (overLays[i] instanceof BMap.Overlay) { + moralMarker.push(overLays[i]); + } + } + return moralMarker; + } + moralMap.clearCloseInfoWindow = function () { + if (!!moralMap["_closeInfoWinTimer"]) { clearTimeout(moralMap["_closeInfoWinTimer"]); moralMap["_closeInfoWinTimer"] = null; } } - moralMap.openInfoWindow = function() { + moralMap.openInfoWindow = function () { moralMap.clearCloseInfoWindow(); - baiduMap.openInfoWindow.apply(baiduMap, arguments);; //������������������ - } - moralMap.closeInfoWindow = function() { + baiduMap.openInfoWindow.apply(baiduMap, arguments); //������������������ + } + moralMap.closeInfoWindow = function () { var timer = setTimeout(function () { baiduMap.closeInfoWindow.apply(baiduMap, arguments); moralMap["_closeInfoWinTimer"] = null; - },1200); + }, 1200); moralMap["_closeInfoWinTimer"] = timer; - } - moralMap.clearOverlays = function() { - baiduMap.clearOverlays(); - } - moralMap.startZoom = ( - function() { - var _zoom = null; - return function(z) { - if(z == undefined) { - return _zoom; - } else { - _zoom = z; - } - } - } - )(); - moralMap.lazyKeyer = (function() { - var _key = null; - return function(key) { - if(key == undefined) { - _key = Math.random(); - return _key; - } else { - return _key == key; - } - }; - })(); - moralMap.getUtf8Length = function(str) { - return str.replace(/[\u0391-\uFFE5]/g, "cc").length; - } - //������������ - moralMap.showPopupbox = function(id) { - setTimeout(function () { + } + moralMap.clearOverlays = function () { + baiduMap.clearOverlays(); + } + moralMap.startZoom = ( + function () { + var _zoom = null; + return function (z) { + if (z == undefined) { + return _zoom; + } else { + _zoom = z; + } + } + } + )(); + moralMap.lazyKeyer = (function () { + var _key = null; + return function (key) { + if (key == undefined) { + _key = Math.random(); + return _key; + } else { + return _key == key; + } + }; + })(); + moralMap.getUtf8Length = function (str) { + return str.replace(/[\u0391-\uFFE5]/g, "cc").length; + } + //������������ + moralMap.showPopupbox = function (id) { + setTimeout(function () { $(id).css('display', 'block'); - },1); - } - moralMap.closePopupbox = function(id) { - $(id).css('display', 'none'); - } - moralMap.isPopupBoxShow = function(id) { - return $(id).css('display') == 'block'; - } - moralMap.onItermClick = function(index,select) { - var row = moralMap.getPopupEqu(index); - if(row['mac']==null){ + }, 1); + } + moralMap.closePopupbox = function (id) { + $(id).css('display', 'none'); + } + moralMap.isPopupBoxShow = function (id) { + return $(id).css('display') == 'block'; + } + moralMap.onItermClick = function (index, select) { + var row = moralMap.getPopupEqu(index); + if (row['mac'] == null) { alert("mac���������������������������������������"); return; } - var equ = { - methodName : 'chart'== select ?'showChart':'showDeviceMonitor', - name: row['name'], - mac: (row['mac']).toLowerCase(), - longitude: row['longitude'], - latitude: row['latitude'], + var equ = { + methodName: 'showVoc' == select ? 'showVoc' : 'showDeviceMonitor', + name: row['name'], + mac: (row['mac']).toLowerCase(), + longitude: row['longitude'], + latitude: row['latitude'], monitorPointId: row['monitorPointId'], - version:row['deviceVersion']['version'] - }; - !!select?equ['monitorPointId'] = row["monitorPointId"]:null; - var equStr = JSON.stringify(equ); - if(window["console"]!=undefined){ - console.log(equStr); + version: row['deviceVersion']['version'], + provinceCode: row['monitorPoint']['provinceCode'] + }; + !!select ? equ['monitorPointId'] = row["monitorPointId"] : null; + var equStr = JSON.stringify(equ); + if (window["console"] != undefined) { + // console.log(equStr); } - if(!!window['external']&&!!window['external']['callWin']){ + if (!!window['external'] && !!window['external']['callWin']) { window['external'].callWin(equStr); - }else{ - if(!!select&&select==='chart'&&!!window['external']&&!!window['external']['showChartInfo']){ - window['external'].showChartInfo(equStr); - }else if(!!window['external']&&!!window['external']['showMonitorInfo']){ - window['external'].showMonitorInfo(equStr); - }else{ - alert(equStr); + } else { + if (!!select && select === 'showVoc' && !!window['external'] && !!window['external']['showVocInfo']) { + window['external'].showChartInfo(equStr); + } else { + alert(equStr); + } + } + + } + moralMap.setPopupEqus = function (arr) { + moralMap["_equs"] = arr; + } + moralMap.getPopupEquMacs = function () { + var macs = []; + if (moralMap["_equs"] != null) { + for (var i in moralMap["_equs"]) { + var equ = moralMap["_equs"][i]; + macs.push(equ["mac"]); + } + } + return macs; + } + moralMap.getPopupEqu = function (index) { + if (typeof moralMap["_equs"] === 'object') { + return moralMap["_equs"][index]; + } + throw "equs is empty"; + } + //{id:���������url���,pagesize:} + //list������ + moralMap.initListView = function (option) { + var listView = { + load: function (url) { + if (url != undefined) { + $.extend(option, { + "url": url + }); } - } + option["pageNo"] = 1; + _load(option); + } + }; + listView["option"] = option; + listView.refreshState = function (equstates) { + if (equstates != null) { + for (var i in equstates) { + var equstate = equstates[i]; + var mac = equstate["mac"]; + var state = equstate["state"]; + var id_select = "#listview_state_" + mac; + var stateObj = _getStateMap(state); + var stateClass = stateObj["state"]; + var stateName = stateObj["stateName"]; + if (!$(id_select).hasClass(state)) { + $(id_select).attr("class", stateClass); + $(id_select).text(stateName); + } + } + } + } - } - moralMap.setPopupEqus = function(arr) { - moralMap["_equs"] = arr; - } - moralMap.getPopupEquMacs = function() { - var macs = []; - if(moralMap["_equs"] != null) { - for(var i in moralMap["_equs"]) { - var equ = moralMap["_equs"][i]; - macs.push(equ["mac"]); - } - } - return macs; - } - moralMap.getPopupEqu = function(index) { - if(typeof moralMap["_equs"] === 'object') { - return moralMap["_equs"][index]; - } - throw "equs is empty"; - } - //{id:���������url���,pagesize:} - //list������ - moralMap.initListView = function(option) { - var listView = { - load: function(url) { - if(url != undefined) { - $.extend(option, { - "url": url - }); - } - option["pageNo"] = 1; - _load(option); - } - }; - listView["option"] = option; - listView.refreshState = function(equstates) { - if(equstates != null) { - for(var i in equstates) { - var equstate = equstates[i]; - var mac = equstate["mac"]; - var state = equstate["state"]; - var id_select = "#listview_state_" + mac; - var stateObj = _getStateMap(state); - var stateClass = stateObj["state"]; - var stateName = stateObj["stateName"]; - if(!$(id_select).hasClass(state)) { - $(id_select).attr("class", stateClass); - $(id_select).text(stateName); - } - } - } - } + function _getStateMap(s) { + var state; + var stateName; + switch (parseInt(s)) { + case 0: + state = 'state00'; + stateName = '������'; + break; + case 1: + state = 'state01'; + stateName = '������'; + break; + case 2: + state = 'state02'; + stateName = '������'; + break; + case 3: + state = 'state03'; + stateName = '������'; + break; + case 4: + state = 'state04'; + stateName = '������'; + break; + } + return { + "state": state, + "stateName": stateName + }; + } - function _getStateMap(s) { - var state; - var stateName; - switch(parseInt(s)) { - case 0: - state = 'state00'; - stateName = '������'; - break; - case 1: - state = 'state01'; - stateName = '������'; - break; - case 2: - state = 'state02'; - stateName = '������'; - break; - case 3: - state = 'state03'; - stateName = '������'; - break; - case 4: - state = 'state04'; - stateName = '������'; - break; - } - return { - "state": state, - "stateName": stateName - }; - } + function _load(option) { + if (option['url'] != null && option['url'] != "") { + var pageSize = option["pageSize"] || 20; + var pageNo = option["pageNo"] || 1; + var url = option['url']; + url += "&pageNo=" + pageNo; + url += "&pageSize=" + pageSize; + // console.log(url); + $.ajax({ + type: "get", + cache: false, + url: url, + async: true, + success: function (res) { + if (res != null && res.total != null) { + var rows = res.data; + if (rows == null || rows.length == 0) { + $(option['id']).html("������������������������������"); + return; + } + //������������������ + moralMap.setPopupEqus(rows); + var outHtml = "<ul class='list'>"; + for (var i = 0; i < rows.length; i++) { + var e = rows[i]; + var state = 'state01'; + var stateName = ''; + var s = e['state'] == undefined ? 0 : e['state']; + if (deviceStates) { + for (var j in deviceStates) { + var deviceState = deviceStates[j]; + if (deviceState.mac == e['mac']) { + s = deviceState.state; + break; + } + } + } + var stateObj = _getStateMap(s); + state = stateObj["state"]; + stateName = stateObj["stateName"]; + var name = e['name']; + if (moralMap.getUtf8Length(name) > 22) { + var stop1 = 0; + for (var stop1_i = 0, len = 0; stop1_i < name.length; stop1_i++) { + len += ((name.charCodeAt(stop1_i) & 0xff00) != 0) ? 2 : 1; + stop1 = stop1_i; + if (len > 8) break; + } + var stop2 = 0; + for (var stop2_i = name.length - 1, len = 0; stop2_i >= 0; stop2_i--) { + len += ((name.charCodeAt(stop2_i) & 0xff00) != 0) ? 2 : 1; + stop2 = stop2_i; + if (len > 10) break; + } + name = name.substring(0, stop1) + "..." + name.substring(stop2, name.length); + } + var li = "<li id='listview_item_" + e['mac'] + "'><span class='list-chart-span' onclick=moralMap.onItermClick(\"" + i + "\",'showVoc')><img src='/img/list.png' width='20px'></span>" + + "<span id='listview_state_" + e['mac'] + "'class='" + state + "'>" + stateName + "</span>" + + "<div>" + name + "</div></li>"; + outHtml += li; + } + outHtml += "</ul>"; + var total = res['total']; + var totalPage = Math.ceil(total / pageSize); + if (totalPage > 1) { + outHtml += "<div id='page' class='page_div'></div>"; + } + $(option['id']).html(outHtml); + if (totalPage > 1) { + $("#page").paging({ + pageNo: pageNo, + totalPage: totalPage, + totalSize: total, + callback: function (num) { + //��������������� + $(option['id']).html(""); + option["pageNo"] = num; + _load(option); + } + }) + } + } - function _load(option) { - if(option['url'] != null && option['url'] != "") { - var pageSize = option["pageSize"] || 20; - var pageNo = option["pageNo"] || 1; - var url = option['url']; - url += "&pageNo=" + pageNo; - url += "&pageSize=" + pageSize; - console.log(url); - $.ajax({ - type: "get", - cache: false, - url: url, - async: true, - success: function(res) { - if(res!=null&&res.total!=null) { - var rows = res.data; - if(rows==null||rows.length == 0) { - $(option['id']).html("������������������������������"); - return; - } - //������������������ - moralMap.setPopupEqus(rows); - var outHtml = "<ul class='list'>"; - for(var i = 0; i < rows.length; i++) { - var e = rows[i]; - var state = 'state01'; - var stateName = ''; - var s = e['state'] == undefined ? 0 : e['state']; - var stateObj = _getStateMap(s); - state = stateObj["state"]; - stateName = stateObj["stateName"]; - var name = e['name']; - if(moralMap.getUtf8Length(name) > 22) { - var stop1 = 0; - for(var stop1_i = 0, len = 0; stop1_i < name.length; stop1_i++) { - len += ((name.charCodeAt(stop1_i) & 0xff00) != 0) ? 2 : 1; - stop1 = stop1_i; - if(len > 8) break; - } - var stop2 = 0; - for(var stop2_i = name.length - 1, len = 0; stop2_i >= 0; stop2_i--) { - len += ((name.charCodeAt(stop2_i) & 0xff00) != 0) ? 2 : 1; - stop2 = stop2_i; - if(len > 10) break; - } - name = name.substring(0, stop1) + "..." + name.substring(stop2, name.length); - } - var li = "<li id='listview_item_" + e['mac'] + "'><span class='list-chart-span' onclick=moralMap.onItermClick(\"" + i + "\",'chart')><img src='/img/chart.png'></span>" - +"<span id='listview_state_" + e['mac'] + "'class='" + state + "'>" + stateName + "</span>" + - "<div style='cursor: pointer;' onclick=moralMap.onItermClick(\"" + i + "\")>" + name + "</div></li>"; - outHtml += li; - } - outHtml += "</ul>"; - var total = res['total']; - var totalPage = Math.ceil(total / pageSize); - if(totalPage > 1) { - outHtml += "<div id='page' class='page_div'></div>"; - } - $(option['id']).html(outHtml); - if(totalPage > 1) { - $("#page").paging({ - pageNo: pageNo, - totalPage: totalPage, - totalSize: total, - callback: function(num) { - //��������������� - $(option['id']).html(""); - option["pageNo"] = num; - _load(option); - } - }) - } - } + } + }); + } + } - } - }); - } - } - return listView; - } - moralMap.MoralMarker = function(option) { - var _option = option; - var _pointObj = new BMap.Point(_option['longitude'], _option['latitude']); - var _iconObj = _getMapIcon(_option["state"]); - this._point = _pointObj; - //������MapIcon������������ - function _getMapIcon(state) { - state = state == null ? 0 : state; - var icon = _option["icon"]; - var url = icon["stateIcons"][state]; - 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, - enableMassClear: true - }) - //������������ - var eventType = ['click']; - for(var index in eventType) { - var eventName = eventType[index]; - if(_option[eventName] != undefined && typeof _option[eventName] == "function") { - var fn = _option[eventName]; - this.addEventListener(eventName, function() { - //���arguments��������������� - var args = Array.prototype.slice.call(arguments); - fn.apply(this, args); - }); - } - } - return $.extend(this, { - refreshState: function(state) { - //��������������������������������� ������ - if(_option['state'] != state){ + return listView; + } + moralMap.MoralMarker = function (option) { + var _option = option; + var _pointObj = new BMap.Point(_option['longitude'], _option['latitude']); + var _iconObj = _getMapIcon(_option["state"]); + this._point = _pointObj; + + //������MapIcon������������ + function _getMapIcon(state) { + state = state == null ? 0 : state; + var icon = _option["icon"]; + //var url = icon["stateIcons"][state]; + 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"]) + }); + } + + this.constructor.call(this, _pointObj, { + icon: _iconObj, + enableMassClear: true + }) + //������������ + var eventType = ['click']; + for (var index in eventType) { + var eventName = eventType[index]; + if (_option[eventName] != undefined && typeof _option[eventName] == "function") { + var fn = _option[eventName]; + this.addEventListener(eventName, function () { + //���arguments��������������� + var args = Array.prototype.slice.call(arguments); + fn.apply(this, args); + }); + } + } + return $.extend(this, { + refreshState: function (state) { + //��������������������������������� ������ + if (_option['state'] != state) { _option['state'] = state; var iconObj = _getMapIcon(state); this.setIcon(iconObj); - } - }, - getOption: function() { - return _option; - }, - setOption: function(option) { - _option = option; - } - }) - } - //new BMap.Marker()������������IE7��������������������� - moralMap.MoralMarker.prototype = new BMap.Marker(); - //��������������� ������Mark������ - moralMap.Monitorpoint = function(option) { - var icon = {}; - icon["stateIcons"] = ["/img/ico00.png", "/img/ico01.png", "/img/ico02.png", "/img/ico03.png", "/img/ico04.png"]; - icon["width"] = 50; - icon["height"] = 50; - option["icon"] = icon; - var moralMarker = new moralMap.MoralMarker(option); - // var mark =new BMap.Marker(pointObj,{icon:iconObj}); - //==================infoWindow-start============================ - var infoWindow = (function() { - //��������������� - var winOpts = { - width: 110, // ������������������ - height: 80, // ������������������ - title: getTitleOutHtml(), // ������������������ - offset: new BMap.Size(-8,-5) //��������������������� - } + } + }, + getOption: function () { + return _option; + }, + setOption: function (option) { + _option = option; + } + }) + } + //new BMap.Marker()������������IE7��������������������� + moralMap.MoralMarker.prototype = new BMap.Marker(); + //��������������� ������Mark������ + moralMap.Monitorpoint = function (option) { + if (monitorPointStates) { + for (var i in monitorPointStates) { + var state = monitorPointStates[i]; + if (state.id == option.id) { + option.state = state.state; + } + } + } + var icon = {}; + icon["stateIcons"] = ["/img/ico00.png", "/img/ico01.png", "/img/ico02.png", "/img/ico03.png", "/img/ico04.png"]; + icon["url"] = "/img/ico0"; + icon["width"] = 50; + icon["height"] = 50; + option["icon"] = icon; + var moralMarker = new moralMap.MoralMarker(option); + // var mark =new BMap.Marker(pointObj,{icon:iconObj}); + //==================infoWindow-start============================ + var infoWindow; + if (moralMarker["infoWindow"] == undefined) { + moralMarker["infoWindow"] = infoWindow; + } - 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; - } + //��������������������� + moralMarker.addEventListener("click", function () { + var winOpts = { + width: 250, // ������������������ + height: 160, // ������������������ + // title: getTitleOutHtml(), // ������������������ + offset: new BMap.Size(-8, -5) //��������������������� + } + var winfowText = "<div style='width:250px'>"; + var title = (option["name"] == null) ? "" : option["name"]; + if (title.length > 13) { + title = title.slice(0, 13) + "..."; + } + winfowText += "<p style='width:210px;font:bold 14px/16px arial,sans-serif;margin:0;color:#cc5522;white-space:nowrap;overflow:hidden'" + winfowText += "title='" + option["name"] + "'>"; + winfowText += title + "</p>"; + var listText = '<div id="equ_list" class="listview" style="min-height:50px;overflow:auto;max-height:140px;" ></div>'; + winfowText = winfowText + listText + "</div>"; + var infoWindow = new BMap.InfoWindow(winfowText, winOpts); + moralMap.openInfoWindow(infoWindow, this._point); //������������������ + }); - function getAdressOutHtml() { - var address = (option["address"] == null) ? "" : option["address"]; - if(address.length > 18) { - address = address.slice(0, 18) + "..."; - } - var adressOutHtml = ""; - adressOutHtml += "<div onmouseover='moralMap.clearCloseInfoWindow()'"; - adressOutHtml += "onmouseout='moralMap.closeInfoWindow()'"; - adressOutHtml +=" style='font:12px arial,sans-serif;margin-top:12px'><table cellspacing='0' style='overflow:hidden;table-layout:fixed;width:100%;font:12px arial,sans-serif'>"; - adressOutHtml += "<tbody><tr><td style='vertical-align:top;width:38px;white-space:nowrap;word-break:keep-all'>��������� </td><td style='line-height:16px'>"; - adressOutHtml += address + " "; - adressOutHtml += "</td></tr>"; - //adressOutHtml += "<tr><td style='width:98%;padding-top:10px;'colspan='2'><a href='javascript:void(0);' style='display:block;position: relative;float: right;' onclick='moralMap.showPointMonitor("+option.id+")'>������������>></a></td></tr>"; - adressOutHtml += "</tbody></table></div>"; - return adressOutHtml; - } - return new BMap.InfoWindow(getAdressOutHtml(), winOpts); - })(); - if(moralMarker["infoWindow"] == undefined) { - moralMarker["infoWindow"] = infoWindow; - } - //��������������������� - moralMarker.addEventListener("mouseover", function() { - moralMap.openInfoWindow(infoWindow, this._point); //������������������ - }); - moralMarker.addEventListener("mouseout", function() { - moralMap.closeInfoWindow(); - }); - //==================infoWindow-end============================ - //��������������� - moralMap.putMpoint(option['id'], moralMarker); - return moralMarker; - } - //������MonitorPoint������ - moralMap.putMpoint = function(key, obj) { - if(moralMap['_mpoints'] == undefined) { - moralMap['_mpoints'] = {}; - } - moralMap['_mpoints'][key] = obj; - } - //key������������id - moralMap.getMpoint = function(key) { - if(typeof moralMap['_mpoints'] === 'object') { - return moralMap['_mpoints'][key]; - } - } - moralMap.getMpoints = function(key) { - return moralMap['_mpoints']; - } - moralMap.clearMpoints = function() { - if(moralMap['_mpoints'] != undefined) { - delete moralMap['_mpoints']; - } + moralMarker.addEventListener("mouseout", function () { + // moralMap.closeInfoWindow(); + }); + //==================infoWindow-end============================ + //��������������� + moralMap.putMpoint(option['id'], moralMarker); + return moralMarker; + } + //������MonitorPoint������ + moralMap.putMpoint = function (key, obj) { + if (moralMap['_mpoints'] == undefined) { + moralMap['_mpoints'] = {}; + } + moralMap['_mpoints'][key] = obj; + } + //key������������id + moralMap.getMpoint = function (key) { + if (typeof moralMap['_mpoints'] === 'object') { + return moralMap['_mpoints'][key]; + } + } + moralMap.getMpoints = function (key) { + return moralMap['_mpoints']; + } + moralMap.clearMpoints = function () { + if (moralMap['_mpoints'] != undefined) { + delete moralMap['_mpoints']; + } - } - //���������mac���key������ - //��������������� ������MoralMark������ - moralMap.Equipment = function(option) { - var icon = {}; - icon["stateIcons"] = ["/img/ico_coo00.png", "/img/ico_coo01.png", "/img/ico_coo02.png", "/img/ico_coo03.png", "/img/ico_coo04.png"]; - icon["width"] = 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============================ + } + //���������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]; + } + }); - var infoWindow = (function() { - //��������������� - var winOpts = { - width: 110, // ������������������ - height: 80, // ������������������ - title: getTitleOutHtml(), // ������������������ - offset: new BMap.Size(-8,-5) //��������������������� - } + if (deviceStates) { + for (var i in deviceStates) { + var state = deviceStates[i]; + if (state.id == option.id) { + option.state = state.state; + } + } + } + var icon = {}; + 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"] = 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============================ + var infoWindow = (function () { + //��������������� + var winOpts = { + width: 300, // ������������������ + title: getTitleOutHtml(), // ������������������ + offset: new BMap.Size(-8, -5) //��������������������� + } - 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; - } + function getTitleOutHtml() { + //title���������������... + var title = (option["name"] == null) ? "" : option["name"]; + if (title.length > 13) { + title = title.slice(0, 13) + "..."; + } + var address = (option["address"] == null) ? "" : option["address"]; + if (address.length > 18) { + address = address.slice(0, 18) + "..."; + } + 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>"; + titleOutHtml += "<p style='height: 18px;line-height: 18px;font-size: 12px'>��������� " + address + "</p>" + return titleOutHtml; + } - function getAdressOutHtml() { - var address = (option["address"] == null) ? "" : option["address"]; - if(address.length > 18) { - address = address.slice(0, 18) + "..."; - } - var adressOutHtml = ""; - adressOutHtml += "<div onmouseover='moralMap.clearCloseInfoWindow()'"; - adressOutHtml += "onmouseout='moralMap.closeInfoWindow()'"; - adressOutHtml +=" style='font:12px arial,sans-serif;margin-top:12px'><table cellspacing='0' style='overflow:hidden;table-layout:fixed;width:100%;font:12px arial,sans-serif'>"; - adressOutHtml += "<tbody><tr><td style='vertical-align:top;width:38px;white-space:nowrap;word-break:keep-all'>��������� </td><td style='line-height:16px'>"; - adressOutHtml += address + " "; - adressOutHtml += "</td></tr>"; - adressOutHtml += "</tbody></table></div>"; - //$("#searchParam").val(address); - return adressOutHtml; - } - return new BMap.InfoWindow(getAdressOutHtml(), winOpts); - })(); + 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) //��������������������� - } + /*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); + 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>"; + 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; - } + item += "</li>"; + dataOutHtml += item; + } - } - dataOutHtml += "</ul></div>"; - return dataOutHtml; - }, - _getSensorState: function(data, key) { - var grade="grade"; + } + 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){ + 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($.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){ + 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() { - moralMap.openInfoWindow(infoWindow, this._point); //������������������ - }); - moralMarker.addEventListener("mouseout", function() { - moralMap.closeInfoWindow(); - }); + } + 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); + } - //==================infoWindow-end============================ - //��������������� - moralMap.putEquipment(option['mac'], moralMarker); - var _super_refreshState = moralMarker.refreshState; - //$("#searchParam").val(option['mac']); - return $.extend(moralMarker, { - refreshState: function(data) { - if(data != null && data!="") { - 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){ - var option = this.getOption(); - option["data"] = data; - this.setOption(option); - }, - getData:function(){ - return this.getOption()["data"]; - } - }); - } - //������MonitorPoint������ - moralMap.putEquipment = function(key, obj) { - if(key!=null&&key!=""){ + moralMap.showSensors = function (jsonData) { + if (!jsonData.hasOwnProperty('mac')) { + infoWindow.setContent(""); + infoWindow.redraw(); + } else { + 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>"); + } + } + adressOutHtml += "</div>"; + infoWindow.setContent(adressOutHtml); + infoWindow.redraw(); + } + } + /* if (!$.isEmptyObject(sensorInfo)) { + moralMap.openInfoWindow(infoWindow, this._point); //������������������ + }*/ + moralMap.openInfoWindow(infoWindow, this._point); //������������������ + }); + + 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(); + }); + + //==================infoWindow-end============================ + //��������������� + moralMap.putEquipment(option['mac'], moralMarker); + var _super_refreshState = moralMarker.refreshState; + //$("#searchParam").val(option['mac']); + return $.extend(moralMarker, { + refreshState: function (data) { + if (data != null && data != "") { + 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) { + var option = this.getOption(); + option["data"] = data; + this.setOption(option); + }, + getData: function () { + return this.getOption()["data"]; + } + }); + } + //������MonitorPoint������ + moralMap.putEquipment = function (key, obj) { + if (key != null && key != "") { key = String.prototype.toLowerCase.call(key); - if(moralMap['_equipments'] == undefined) { + if (moralMap['_equipments'] == undefined) { moralMap['_equipments'] = {}; } moralMap['_equipments'][key] = obj; - } - } - moralMap.getEquipment = function(key) { - if(key == null){ - return null; - } - key = String.prototype.toLowerCase.call(key); - if(typeof moralMap['_equipments'] === 'object') { - return moralMap['_equipments'][key]; - } - } - moralMap.getEquipments = function(key) { - return moralMap['_equipments']; - } - moralMap.clearEquipments = function() { - if(moralMap['_equipments'] != undefined) { - delete moralMap['_equipments']; - } - } - moralMap.getZoomConfine = function() { - return 18; - } - moralMap.getZoom = function() { - return baiduMap.getZoom(); - } - moralMap.getHorizonMarkers = function(isShow) { - var bounds = moralMap.getBounds(); - var oldMarkerList; - var isShow = (isShow) ? baiduMap : null; - if(moralMap.layer() == "equipments") { - oldMarkerList = moralMap.getEquipments(); - } else { - oldMarkerList = moralMap.getMpoints(); - } - var markers = []; - if(oldMarkerList != null && typeof oldMarkerList == "object") { - for(var i in oldMarkerList) { - var oldmarker = oldMarkerList[i]; - if(oldmarker != null && oldmarker instanceof BMap.Overlay && oldmarker.getMap() == isShow) { - var option = oldmarker.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(oldmarker); - } - } - } - } - } - return markers; - } + } + } + moralMap.getEquipment = function (key) { + if (key == null) { + return null; + } + key = String.prototype.toLowerCase.call(key); + if (typeof moralMap['_equipments'] === 'object') { + return moralMap['_equipments'][key]; + } + } + moralMap.getEquipments = function (key) { + return moralMap['_equipments']; + } + moralMap.clearEquipments = function () { + if (moralMap['_equipments'] != undefined) { + delete moralMap['_equipments']; + } + } + moralMap.getZoomConfine = function () { + return 18; + } + moralMap.getZoom = function () { + return baiduMap.getZoom(); + } + moralMap.getHorizonMarkers = function (isShow) { + var bounds = moralMap.getBounds(); + var oldMarkerList; + var isShow = (isShow) ? baiduMap : null; + if (moralMap.layer() == "equipments") { + oldMarkerList = moralMap.getEquipments(); + } else { + oldMarkerList = moralMap.getMpoints(); + } + var markers = []; + if (oldMarkerList != null && typeof oldMarkerList == "object") { + for (var i in oldMarkerList) { + var oldmarker = oldMarkerList[i]; + if (oldmarker != null && oldmarker instanceof BMap.Overlay && oldmarker.getMap() == isShow) { + var option = oldmarker.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(oldmarker); + } + } + } + } + } + return markers; + } moralMap.showPointMonitor = function (id) { var mpointMarker = moralMap.getMpoint(id); var mpoint = mpointMarker.getOption(); - if(!!mpoint){ - delete mpoint['organization']; - delete mpoint['icon']; - delete mpoint['click']; - if(window["console"]!=undefined){ + if (!!mpoint) { + delete mpoint['organization']; + delete mpoint['icon']; + delete mpoint['click']; + if (window["console"] != undefined) { console.log(mpoint); } - $.get("getvers?mptid="+id,function (res) { - if(!!res&&res.code==1){ + $.get("getvers?mptid=" + id, function (res) { + if (!!res && res.code == 1) { mpoint['versions'] = res.data; mpoint['methodName'] = 'showPointMonitor'; var mpointStr = JSON.stringify(mpoint); - if(!!window['external']&&window['external']['callWin']){ + if (!!window['external'] && window['external']['callWin']) { window['external'].callWin(mpointStr); - }else{ + } else { alert(JSON.stringify(mpointStr)); } } }) - }else{ - if(window["console"]!=undefined){ + } else { + if (window["console"] != undefined) { console.log("option of mpointMarker is null"); console.log(mpointMarker); } - } + } - } + } - moralMap.callJS = function(condition) { - //$("#searchParam").val(condition); - //var condition = JSON.parse(condition); - var new_point = new BMap.Point(condition.longitude, condition.latitude); - baiduMap.panTo(new_point); - baiduMap.setCenter(new_point); - - if (condition.type == "mpoint") { - baiduMap.setZoom(17); - if(moralMap.getMpoint(condition.id)){ - moralMap.openInfoWindow(moralMap.getMpoint(condition.id)["infoWindow"], new_point); - }else { - //$("#searchParam").val(condition.id); - } - } else if (condition.type == "device") { - //baiduMap.centerAndZoom(new_point, 18); - baiduMap.setZoom(18); - if(moralMap.getEquipment(condition.mac)){ - moralMap.openInfoWindow(moralMap.getEquipment(condition.mac)["infoWindow"], new_point); - } else { - //var equipment = new moralMap.Equipment(condition); - //moralMap.openInfoWindow(showInfoWindow, new_point); - //moralMap.openInfoWindow(equipment["infoWindow"], new_point); - //moralMap.openInfoWindow(moralMap.getEquipment(condition.mac)["infoWindow"], new_point); - //moralMap.callJS(condition); - } - } - } + moralMap.callJS = function (condition) { + var new_point = new BMap.Point(condition.longitude, condition.latitude); + baiduMap.panTo(new_point); + baiduMap.setCenter(new_point); + baiduMap.setZoom(condition.type == "mpoint" ? 17 : 18); + var interval = setInterval(function () { + var marker; + if (condition.type == "mpoint") { + marker = moralMap.getMpoint(condition.id); + } else if (condition.type == "device") { + marker = moralMap.getEquipment(condition.mac); + } + if (marker) { + clearInterval(interval); + moralMap.openInfoWindow(marker["infoWindow"], new_point); + } + }, 50); + } - window.moralMap = moralMap; -})(jQuery, BMap, window); \ No newline at end of file + var deviceStates; + var monitorPointStates; + moralMap.refreshState = function (states) { + monitorPointStates = states; + deviceStates = []; + for (var i in states) { + var state = states[i]; + for (var j in state.devices) { + var device = state.devices[j]; + deviceStates.push(device); + } + } + listView.refreshState(deviceStates); + for (var i in states) { + var state = states[i]; + var mpoint = moralMap.getMpoint(state.id); + if (mpoint) { + mpoint.refreshState(state.state); + } + for (var j in state.devices) { + var marker = state.devices[j]; + var marker_mac = marker["mac"]; + var equipment = moralMap.getEquipment(marker_mac); + if (equipment) { + equipment.refreshState(marker); + } + } + } + } + + window.moralMap = moralMap; +})(jQuery, BMap, window); -- Gitblit v1.8.0