From f32e22e52376cabe49e8c7d1f52adb4b1aebffd3 Mon Sep 17 00:00:00 2001 From: ZhuDongming <773644075@qq.com> Date: Wed, 20 Nov 2019 17:15:08 +0800 Subject: [PATCH] update:移动到设备marker上实时显示因子数据 --- src/main/java/com/moral/service/impl/SensorServiceImpl.java | 20 src/main/resources/mapper/SensorMapper.xml | 15 src/main/webapp/js/moralmap.js | 1923 ++++++++++++++++++---------------- src/main/java/com/moral/service/SensorService.java | 4 src/main/java/com/moral/mapper/SensorMapper.java | 2 src/main/webapp/view/map.jsp | 1273 ++++++++++++---------- src/main/java/com/moral/controller/ScreenController.java | 18 7 files changed, 1,733 insertions(+), 1,522 deletions(-) diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java index 20c720a..042724a 100644 --- a/src/main/java/com/moral/controller/ScreenController.java +++ b/src/main/java/com/moral/controller/ScreenController.java @@ -544,6 +544,24 @@ } } + @GetMapping("/getSensorsMap") + public ResultBean getSensorsMapOnly(String mac){ + Map<String, String> paramMap = sensorService.getSensorsMapOnly(mac); + ResultBean<Map<String, String>> resultBean = new ResultBean(); + resultBean.setData(paramMap); + resultBean.setCode(ResultBean.SUCCESS); + return resultBean; + } + + @GetMapping("/getSensorsUnitMap") + public ResultBean getSensorsUnitMap(String mac){ + Map<String, String> paramMap = sensorService.getSensorsUnitMap(mac); + ResultBean<Map<String, String>> resultBean = new ResultBean(); + resultBean.setData(paramMap); + resultBean.setCode(ResultBean.SUCCESS); + return resultBean; + } + @RequestMapping(value = "/get-monitorpoints", method = RequestMethod.GET) @ResponseBody public ResultBean getMonitorpointList(@RequestParam("orgId") String orgId, MapBounds mapBounds, diff --git a/src/main/java/com/moral/mapper/SensorMapper.java b/src/main/java/com/moral/mapper/SensorMapper.java index f50008a..ff015e7 100644 --- a/src/main/java/com/moral/mapper/SensorMapper.java +++ b/src/main/java/com/moral/mapper/SensorMapper.java @@ -27,4 +27,6 @@ List<Map<String,Object>> getSensorByMonitorPointId(@Param("monitor_point_id")String monitor_point_id); List<Sensor> getSensorsByMac(Map<String, Object> parameters); + + List<Sensor> getSensorsByMacOnly(@Param("mac") String mac); } \ No newline at end of file diff --git a/src/main/java/com/moral/service/SensorService.java b/src/main/java/com/moral/service/SensorService.java index dad9692..f1b9365 100644 --- a/src/main/java/com/moral/service/SensorService.java +++ b/src/main/java/com/moral/service/SensorService.java @@ -33,4 +33,8 @@ List<Map<String,Object>> getSensorByMonitorPointId(String monitor_point_id); Map<String, String> getSensorsMap(Map<String, Object> parameters) throws Exception; + + Map<String, String> getSensorsMapOnly(String mac); + + Map<String, String> getSensorsUnitMap(String mac); } diff --git a/src/main/java/com/moral/service/impl/SensorServiceImpl.java b/src/main/java/com/moral/service/impl/SensorServiceImpl.java index e26a7f7..1638cb7 100644 --- a/src/main/java/com/moral/service/impl/SensorServiceImpl.java +++ b/src/main/java/com/moral/service/impl/SensorServiceImpl.java @@ -110,4 +110,24 @@ } return sensorMap; } + + @Override + public Map<String, String> getSensorsMapOnly(String mac) { + List<Sensor> sensors = sensorMapper.getSensorsByMacOnly(mac); + Map<String, String> sensorMap = new HashMap<>(); + for (Sensor sensor : sensors) { + sensorMap.put(sensor.getSensorKey(), sensor.getDescription()); + } + return sensorMap; + } + + @Override + public Map<String, String> getSensorsUnitMap(String mac) { + List<Sensor> sensors = sensorMapper.getSensorsByMacOnly(mac); + Map<String, String> sensorMap = new HashMap<>(); + for (Sensor sensor : sensors) { + sensorMap.put(sensor.getSensorKey(), sensor.getUnit()); + } + return sensorMap; + } } diff --git a/src/main/resources/mapper/SensorMapper.xml b/src/main/resources/mapper/SensorMapper.xml index ccfa2cf..d4fb2bf 100644 --- a/src/main/resources/mapper/SensorMapper.xml +++ b/src/main/resources/mapper/SensorMapper.xml @@ -159,4 +159,19 @@ AND d.mac = #{mac} </if> </select> + + <select id="getSensorsByMacOnly" resultMap="BaseResultMap"> + SELECT + DISTINCT s.* + FROM + sensor s, + device_version_sensor dvs, + device d + WHERE + s.id = dvs.sensor_id + AND dvs.device_version_id = d.device_version_id + <if test="mac != null"> + AND d.mac = #{mac} + </if> + </select> </mapper> \ No newline at end of file diff --git a/src/main/webapp/js/moralmap.js b/src/main/webapp/js/moralmap.js index fe910a3..f4b025b 100644 --- a/src/main/webapp/js/moralmap.js +++ b/src/main/webapp/js/moralmap.js @@ -1,1030 +1,1097 @@ -(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 }; - 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]; 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) { + 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; + } } - }, 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){ + if (!!baiduBounds) { this.northeastLng = baiduBounds.getNorthEast().lng;//��������������������������� this.northeastLat = baiduBounds.getNorthEast().lat;//��������������������������� this.southwestLng = baiduBounds.getSouthWest().lng;//��������������������������������� this.southwestLat = baiduBounds.getSouthWest().lat;//��������������������������������� - }else{ + } 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: 'chart' == select ? 'showChart' : '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){ + version: row['deviceVersion']['version'] + }; + !!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 === 'chart' && !!window['external'] && !!window['external']['showChartInfo']) { + window['external'].showChartInfo(equStr); + } else if (!!window['external'] && !!window['external']['showMonitorInfo']) { + window['external'].showMonitorInfo(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']; + 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); + } + }) + } + } - 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]; - 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){ + 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) { - 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 = (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 = (function () { + //��������������� + var winOpts = { + width: 110, // ������������������ + height: 80, // ������������������ + 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 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 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>"; + 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() { + 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']; - } + }); + //==================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) { - 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: 110, // ������������������ - height: 80, // ������������������ - title: getTitleOutHtml(), // ������������������ - offset: new BMap.Size(-8,-5) //��������������������� - } + //���������mac���key������ + //��������������� ������MoralMark������ + moralMap.Equipment = function (option) { + var sensorsMap; + var sensorsUnitMap; + $.ajax({ + url: "getSensorsMap?mac=" + option['mac'], + type: "get", + dataType: "json", + success: function (data) { + sensorsMap = data.data; + } + }); - 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; - } + $.ajax({ + url: "getSensorsUnitMap?mac=" + option['mac'], + type: "get", + dataType: "json", + success: function (data) { + sensorsUnitMap = data.data; + } + }); - 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); - })(); + 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) //��������������������� + } - /*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 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 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); + 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>"; + 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) { + var address = (option["address"] == null) ? "" : option["address"]; + if (address.length > 18) { + address = address.slice(0, 18) + "..."; + } + 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 sensorsMap) { + if (prop == key) { + var sensorsDescription = sensorsMap[key]; + } + } + for (var key in sensorsUnitMap) { + if (prop == key) { + var sensorsUnit = sensorsUnitMap[key]; + } + } + 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) { - 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); - - } + 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); - var deviceStates ; + } + + var deviceStates; var monitorPointStates; - moralMap.refreshState = function(states) { - if (!monitorPointStates) { - 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); - } - } - } - 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); - } - } - } - } + moralMap.refreshState = function (states) { + if (!monitorPointStates) { + 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); + } + } + } + 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; + window.moralMap = moralMap; })(jQuery, BMap, window); \ No newline at end of file diff --git a/src/main/webapp/view/map.jsp b/src/main/webapp/view/map.jsp index 3869532..4d8dd8c 100644 --- a/src/main/webapp/view/map.jsp +++ b/src/main/webapp/view/map.jsp @@ -1,679 +1,764 @@ <%@ page contentType="text/html;charset=UTF-8" language="java" %> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@page isELIgnored="false" %> <% - String version ="1.000004"; - response.setHeader("Cache-Control","no-store"); - response.setHeader("Pragrma","no-cache"); - response.setDateHeader("Expires",0); + String version = "1.000004"; + response.setHeader("Cache-Control", "no-store"); + response.setHeader("Pragrma", "no-cache"); + response.setDateHeader("Expires", 0); %> <!DOCTYPE html> <head> - <meta charset="utf-8" /> + <meta charset="utf-8"/> <title></title> - <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=rER1sgBIcQxkfNSlm2wmBGZGgEERrooM"></script> + <script type="text/javascript" + src="http://api.map.baidu.com/api?v=2.0&ak=rER1sgBIcQxkfNSlm2wmBGZGgEERrooM"></script> <script type="text/javascript" src="/js/jquery.min.js"></script> <script type="text/javascript" src="/js/utils.js"></script> - <script type="text/javascript"> - if(typeof (JSON) == 'undefined'){ - $.getScript("js/json2.js"); - } - </script> + <script type="text/javascript"> + if (typeof (JSON) == 'undefined') { + $.getScript("js/json2.js"); + } + </script> <script type="text/javascript" src="/js/moralmap.js?version=<%=version%>"></script> <script type="text/javascript" src="/js/paging.js"></script> </head> <style type="text/css"> - body, - html, - #mapCanvas{ - width: 100%; - height: 100%; - overflow: hidden; - margin: 0; - z-index: 0; - font-size: 14px; - font-family: "������������"; - } - .anchorBL { - display: none; - } - .main_body{ - border: 0; - margin: 0; - width: 100%; - height: 100%; - position: relative; - } -*{ - margin:0; - padding:0; - list-style:none; -} -a{ - color: #1900c6; - text-decoration: none; - cursor: pointer; - font-size: 14px; - font-weight: 300; -} -a:hover { - text-decoration: underline; - color: #e60012; -} -#popup_box { - top: 75px; - left: 20px; - position: absolute; - z-index: 1; - height: 390px; - width: 320px; - margin: 0 auto; - padding: 10px 25px; - border: 1px solid #eee; - background: white; - display:none; -} + body, + html, + #mapCanvas { + width: 100%; + height: 100%; + overflow: hidden; + margin: 0; + z-index: 0; + font-size: 14px; + font-family: "������������"; + } -.listview{ - overflow-x: hidden; - overflow-y: auto; - margin: 0; - padding: 0; - border: 0; - height: 390px; - width: 92%; - position: absolute; -} + .anchorBL { + display: none; + } + + .main_body { + border: 0; + margin: 0; + width: 100%; + height: 100%; + position: relative; + } + + * { + margin: 0; + padding: 0; + list-style: none; + } + + a { + color: #1900c6; + text-decoration: none; + cursor: pointer; + font-size: 14px; + font-weight: 300; + } + + a:hover { + text-decoration: underline; + color: #e60012; + } + + #popup_box { + top: 75px; + left: 20px; + position: absolute; + z-index: 1; + height: 390px; + width: 320px; + margin: 0 auto; + padding: 10px 25px; + border: 1px solid #eee; + background: white; + display: none; + } + + .listview { + overflow-x: hidden; + overflow-y: auto; + margin: 0; + padding: 0; + border: 0; + height: 390px; + width: 92%; + position: absolute; + } -.search_box { - /*border-bottom: 1px solid #eee;*/ - border-radius: 4px; - top: 20px; - left: 21px; - clear: both; - zoom: 1; - padding-top: 10px; - padding-right: 15px; - position: absolute; - z-index: 1; - height: 36px; - width: 354px; - background: white; -} + .search_box { + /*border-bottom: 1px solid #eee;*/ + border-radius: 4px; + top: 20px; + left: 21px; + clear: both; + zoom: 1; + padding-top: 10px; + padding-right: 15px; + position: absolute; + z-index: 1; + height: 36px; + width: 354px; + background: white; + } -.search_box input { - margin: 0; - width: 245px; - float: right; - height: 24px; - line-height: 24px -} + .search_box input { + margin: 0; + width: 245px; + float: right; + height: 24px; + line-height: 24px + } -.search_box button { - margin-left: 10px; - float: right; - width: 70px; - height: 28px; - line-height: 28px; - cursor:pointer; -} + .search_box button { + margin-left: 10px; + float: right; + width: 70px; + height: 28px; + line-height: 28px; + cursor: pointer; + } -.list { - padding: 10px 0; - clear: both; - zoom: 1 -} -.list-chart-span { - cursor: pointer; - background-color: #4c9bf1 -} -.list li { - padding: 10px 0; - border-bottom: 1px dotted #eee; - line-height: 40px; - height: 40px; - font-size: 20px; - /*cursor: pointer;*/ -} + .list { + padding: 10px 0; + clear: both; + zoom: 1 + } -.list span{ - float: right; - position: relative; - right: 5px; - border-radius:4px; - width: 40px; - text-align: center; - height: 24px; - line-height: 24px; - font-size: 14px; - font-weight: bolder; - color: white; - margin: 10px 0; - padding:2px 0; - margin-right: 8px; -} + .list-chart-span { + cursor: pointer; + background-color: #4c9bf1 + } -.list .state00 { -background-color: #00C600 -} + .list li { + padding: 10px 0; + border-bottom: 1px dotted #eee; + line-height: 40px; + height: 40px; + font-size: 20px; + /*cursor: pointer;*/ + } -.list .state01 { - background-color: #FF9; - color: #ff7f00; -} + .list span { + float: right; + position: relative; + right: 5px; + border-radius: 4px; + width: 40px; + text-align: center; + height: 24px; + line-height: 24px; + font-size: 14px; + font-weight: bolder; + color: white; + margin: 10px 0; + padding: 2px 0; + margin-right: 8px; + } -.list .state02 { - - background-color: #F93; -} + .list .state00 { + background-color: #00C600 + } -.list .state03 { - background-color: #F00; -} + .list .state01 { + background-color: #FF9; + color: #ff7f00; + } -.list .state04 { - /*background-color: #eee;*/ - /*color: #777 ;*/ - background-color: #738d99 ; -} - /* - * ������������������---������������ - */ - - .page_div { - margin:0 auto; - font-size: 10px; - font-family: "microsoft yahei"; - color: #666666; - box-sizing: border-box; - text-align: center; - } - /* - * ������������������ - */ - - .page_div a { - min-width:23px; - height: 22px; - border: 1px solid #dce0e0!important; - text-align: center; - margin: 0 0px; - margin-right: 1px; - cursor: pointer; - line-height: 22px; - color: #666666; - font-size: 10px; - display: inline-block; - } - - #firstPage, - #lastPage { - width: 40px; - color: #0073A9; - border: 1px solid #0073A9!important; - } - - #prePage, - #nextPage { - width: 50px; - color: #0073A9; - border: 1px solid #0073A9!important; - } - - .page_div .current { - background-color: #0073A9; - border-color: #0073A9; - color: #FFFFFF; - } - - .totalPages { - margin: 0 10px; - } - - .totalPages span, - .totalSize span { - color: #0073A9; - margin: 0 5px; - } - -.equ-data-box{width:351px;border:1px solid #dad5d5;background-color:#f6f6f6;padding:12px 0 12px 0;border-radius:3px;margin:10px auto;overflow:hidden;zoom:1;} -.equ-data-box .equ-data-list{width:330px;margin:0 0 0 10px;border-left:1px solid #d0cdcd;border-top:1px solid #d0cdcd;border-bottom:1px solid #d0cdcd;overflow:hidden;zoom:1;} -.equ-data-box .equ-data-list li{background:url(/img/list_li_bg.png) left top repeat-x;width:109px;height:165px;float:left;text-align:center;color:#282828;border-right:1px solid #d0cdcd} -.equ-data-box .equ-data-list li p{height:55px;padding-top:12px;line-height:55px;font-size:18px} -.equ-data-box .equ-data-list li span{height:60px;line-height:50px;display:block;color:#fff;font-size:40px} -.equ-data-box .equ-data-list li em{font-size:14px;line-height:28px;font-style:normal;display:block} -.equ-data-box .equ-data-list li .grade00{background:url(/img/list_num_green.png) left top no-repeat} -.equ-data-box .equ-data-list li .grade01{color:#282828;background:url(/img/list_num_yellow.png) left top no-repeat} -.equ-data-box .equ-data-list li .grade02{background:url(/img/list_num_orange.png) left top no-repeat} -.equ-data-box .equ-data-list li .grade03{background:url(/img/list_num_red.png) left top no-repeat} -.tools_box{ - position: absolute; - height: 120px; - width: 400px; - right: 1px; - top: 20px; - z-index: 1; -} - .tools_box .charts_btn { - position: relative; - float: right; - margin: 0; - border: 0; - height: 85px; - width: 85px; - background:url(/img/charts_btn_bg_1.png) left top no-repeat; - background-size: 70%; - } - .tools_box .charts_btn:hover { - cursor:pointer; - background:url(/img/charts_btn_bg_2.png) left top no-repeat; - background-size: 70%; - } + .list .state02 { + + background-color: #F93; + } + + .list .state03 { + background-color: #F00; + } + + .list .state04 { + /*background-color: #eee;*/ + /*color: #777 ;*/ + background-color: #738d99; + } + + /* + * ������������������---������������ + */ + + .page_div { + margin: 0 auto; + font-size: 10px; + font-family: "microsoft yahei"; + color: #666666; + box-sizing: border-box; + text-align: center; + } + + /* + * ������������������ + */ + + .page_div a { + min-width: 23px; + height: 22px; + border: 1px solid #dce0e0 !important; + text-align: center; + margin: 0 0px; + margin-right: 1px; + cursor: pointer; + line-height: 22px; + color: #666666; + font-size: 10px; + display: inline-block; + } + + #firstPage, + #lastPage { + width: 40px; + color: #0073A9; + border: 1px solid #0073A9 !important; + } + + #prePage, + #nextPage { + width: 50px; + color: #0073A9; + border: 1px solid #0073A9 !important; + } + + .page_div .current { + background-color: #0073A9; + border-color: #0073A9; + color: #FFFFFF; + } + + .totalPages { + margin: 0 10px; + } + + .totalPages span, + .totalSize span { + color: #0073A9; + margin: 0 5px; + } + + .equ-data-box { + width: 351px; + border: 1px solid #dad5d5; + background-color: #f6f6f6; + padding: 12px 0 12px 0; + border-radius: 3px; + margin: 10px auto; + overflow: hidden; + zoom: 1; + } + + .equ-data-box .equ-data-list { + width: 330px; + margin: 0 0 0 10px; + border-left: 1px solid #d0cdcd; + border-top: 1px solid #d0cdcd; + border-bottom: 1px solid #d0cdcd; + overflow: hidden; + zoom: 1; + } + + .equ-data-box .equ-data-list li { + background: url(/img/list_li_bg.png) left top repeat-x; + width: 109px; + height: 165px; + float: left; + text-align: center; + color: #282828; + border-right: 1px solid #d0cdcd + } + + .equ-data-box .equ-data-list li p { + height: 55px; + padding-top: 12px; + line-height: 55px; + font-size: 18px + } + + .equ-data-box .equ-data-list li span { + height: 60px; + line-height: 50px; + display: block; + color: #fff; + font-size: 40px + } + + .equ-data-box .equ-data-list li em { + font-size: 14px; + line-height: 28px; + font-style: normal; + display: block + } + + .equ-data-box .equ-data-list li .grade00 { + background: url(/img/list_num_green.png) left top no-repeat + } + + .equ-data-box .equ-data-list li .grade01 { + color: #282828; + background: url(/img/list_num_yellow.png) left top no-repeat + } + + .equ-data-box .equ-data-list li .grade02 { + background: url(/img/list_num_orange.png) left top no-repeat + } + + .equ-data-box .equ-data-list li .grade03 { + background: url(/img/list_num_red.png) left top no-repeat + } + + .tools_box { + position: absolute; + height: 120px; + width: 400px; + right: 1px; + top: 20px; + z-index: 1; + } + + .tools_box .charts_btn { + position: relative; + float: right; + margin: 0; + border: 0; + height: 85px; + width: 85px; + background: url(/img/charts_btn_bg_1.png) left top no-repeat; + background-size: 70%; + } + + .tools_box .charts_btn:hover { + cursor: pointer; + background: url(/img/charts_btn_bg_2.png) left top no-repeat; + background-size: 70%; + } </style> <body> <div class="main_body"> - <div class="tools_box"> - <div class="charts_btn"> - </div> - </div> - <!-- <div class="search_box"> - <button id="searchBtn" type="button">������</button> - <input id="searchParam"/> - </div> --> - <!-- <div id="popup_box"> - <div id="equ_list" class="listview"> - </div> - </div> --> - <div id="mapCanvas"></div> - <div id="mapParams" style="display: none;"> - ${requestScope.mapParams} - </div> + <div class="tools_box"> + <div class="charts_btn"> + </div> + </div> + <!--<div class="search_box"> + <button id="searchBtn" type="button">������</button> + <textarea style="width: 200px;height:200px;" id="searchParam"></textarea> + </div>--> + <!-- <div id="popup_box"> + <div id="equ_list" class="listview"> + </div> + </div> --> + <div id="mapCanvas"></div> + <div id="mapParams" style="display: none;"> + ${requestScope.mapParams} + </div> </div> </body> </html> <script> -//��������������� -(function($) { - var moralMap = window.moralMap; - var params = $.parseJSON($("#mapParams").html()); - moralMap['params'] = params; - var mapType = getUrlParam("mapType"); - var mapOption = {}; - if(!!mapType && !!eval(mapType)) { - mapOption["mapType"] = eval(mapType); - } - var showZoom = getUrlParam("showZoom"); - //������������������������������ - moralMap.mapInit(params["regionName"],mapOption,showZoom); - //������������ - var listView =moralMap.initListView({id: "#equ_list",pageSize:12}); - window["listView"] = listView; - //���������������������click������������ - function showEqus(obj) { + //��������������� + (function ($) { + var moralMap = window.moralMap; + var params = $.parseJSON($("#mapParams").html()); + moralMap['params'] = params; + var mapType = getUrlParam("mapType"); + var mapOption = {}; + if (!!mapType && !!eval(mapType)) { + mapOption["mapType"] = eval(mapType); + } + var showZoom = getUrlParam("showZoom"); + //������������������������������ + moralMap.mapInit(params["regionName"], mapOption, showZoom); + //������������ + var listView = moralMap.initListView({id: "#equ_list", pageSize: 12}); + window["listView"] = listView; - var params = moralMap['params']; - var mpoint = obj.currentTarget.getOption(); - //$("#searchParam").val(mpoint['name']); - var url = 'get-devices-by-mid-oid?mpId=' + mpoint['id'] + "&orgId=" + params['orgId']; - listView.load(url); - moralMap.showPopupbox("#popup_box"); - } - function loadLazy(url,paramMap,callBack,lazyKeyer){ - if(lazyKeyer==undefined){ - lazyKeyer = moralMap.lazyKeyer; - } - var key = lazyKeyer(); - setTimeout(function(){ - //���������������������������,������������������ - if(key==undefined||lazyKeyer(key)){ - $.ajax({ - type:"get", - url:url, - data:paramMap, - async:false, - cache: false, - success:function(res){ - if(callBack!=null){ - if(res.code==1&&lazyKeyer(key)){ - callBack(res.data); - } - } - } - }); - } - },500); + //���������������������click������������ + function showEqus(obj) { - } - function loadOverlays(url,callback){ - //������������ - var oldMarkerList = moralMap.getHorizonMarkers(); - moralMap.addOverlays(oldMarkerList); - //������������ - //������������������������,������������������ - if(moralMap.isOverBounds()||moralMap.getOverlays().length==0){ - var maxBounds = moralMap.getMaxBounds(); - var paramMap = {}; - paramMap["orgId"]= params['orgId']; - paramMap["regionCode"]= params['regionCode']; - // ��������������������� - paramMap["Fe"]= maxBounds.northeastLat;//��������������������������� - paramMap["Ge"]= maxBounds.northeastLng;//��������������������������� - paramMap["Ke"]= maxBounds.southwestLat;//��������������������������������� - paramMap["Le"]= maxBounds.southwestLng;//��������������������������������� - // $.extend(paramMap,maxBounds); - loadLazy(url,paramMap,callback); - } - } - function addOverEquipments(jsonData){ - if(moralMap.layer()=="equipments"){ - var objs = jsonData = null?[]:jsonData; - for(var i in objs) { - var obj = objs[i]; - if(moralMap.getEquipment(obj["mac"])==null){ - obj['mouseover'] = function (type) { - if(type.target.getData()==null){ - //��������������������������������������������������� ������������������ - //refreshAllState(); + var params = moralMap['params']; + var mpoint = obj.currentTarget.getOption(); + //$("#searchParam").val(mpoint['name']); + var url = 'get-devices-by-mid-oid?mpId=' + mpoint['id'] + "&orgId=" + params['orgId']; + listView.load(url); + moralMap.showPopupbox("#popup_box"); + } + + function loadLazy(url, paramMap, callBack, lazyKeyer) { + if (lazyKeyer == undefined) { + lazyKeyer = moralMap.lazyKeyer; + } + var key = lazyKeyer(); + setTimeout(function () { + //���������������������������,������������������ + if (key == undefined || lazyKeyer(key)) { + $.ajax({ + type: "get", + url: url, + data: paramMap, + async: false, + cache: false, + success: function (res) { + if (callBack != null) { + if (res.code == 1 && lazyKeyer(key)) { + callBack(res.data); + } + } } + }); + } + }, 500); + + } + + function loadOverlays(url, callback) { + //������������ + var oldMarkerList = moralMap.getHorizonMarkers(); + moralMap.addOverlays(oldMarkerList); + //������������ + //������������������������,������������������ + if (moralMap.isOverBounds() || moralMap.getOverlays().length == 0) { + var maxBounds = moralMap.getMaxBounds(); + var paramMap = {}; + paramMap["orgId"] = params['orgId']; + paramMap["regionCode"] = params['regionCode']; + // ��������������������� + paramMap["Fe"] = maxBounds.northeastLat;//��������������������������� + paramMap["Ge"] = maxBounds.northeastLng;//��������������������������� + paramMap["Ke"] = maxBounds.southwestLat;//��������������������������������� + paramMap["Le"] = maxBounds.southwestLng;//��������������������������������� + // $.extend(paramMap,maxBounds); + loadLazy(url, paramMap, callback); + } + } + + function addOverEquipments(jsonData) { + if (moralMap.layer() == "equipments") { + var objs = jsonData = null ? [] : jsonData; + for (var i in objs) { + var obj = objs[i]; + if (moralMap.getEquipment(obj["mac"]) == null) { + obj['mouseover'] = function (type) { + if (type.target.getData() == null) { + //��������������������������������������������������� ������������������ + //refreshAllState(); + } + } + obj['click'] = function () { + var _obj = this.getOption(); + if (_obj['mac'] == null) { + alert("mac���������������������������������������"); + return; + } + var equ = { + methodName: 'showDeviceMonitor', + name: _obj['name'], + mac: (_obj['mac']).toLowerCase(), + longitude: _obj['longitude'], + latitude: _obj['latitude'], + monitorPointId: _obj['monitorPointId'], + version: _obj['deviceVersion']['version'] + } + var equStr = JSON.stringify(equ); + if (window["console"] != undefined) { + } + if (!!window['external'] && !!window['external']['callWin']) { + window['external'].callWin(equStr); + } else if (!!window['external'] && !!window['external']['showMonitorInfo']) { + window['external'].showMonitorInfo(equStr); + } else { + alert(equStr); + } + } + var moralMask = new moralMap.Equipment(obj); + moralMap.addOverlay(moralMask); } - obj['click'] = function(){ - var _obj = this.getOption(); - if(_obj['mac']==null){ - alert("mac���������������������������������������"); - return; - } - var equ = { - methodName : 'showDeviceMonitor', - name: _obj['name'], - mac: (_obj['mac']).toLowerCase(), - longitude: _obj['longitude'], - latitude: _obj['latitude'], - monitorPointId: _obj['monitorPointId'], - version:_obj['deviceVersion']['version'] - } - var equStr = JSON.stringify(equ); - if(window["console"]!=undefined){ - } - if(!!window['external']&&!!window['external']['callWin']){ - window['external'].callWin(equStr); - }else - if(!!window['external']&&!!window['external']['showMonitorInfo']){ - window['external'].showMonitorInfo(equStr); - }else{ - alert(equStr); - } - } - var moralMask = new moralMap.Equipment(obj); - moralMap.addOverlay(moralMask); - } - } - } - } - function addOverMpoints(data){ - if(moralMap.layer()=="monitorpoints"){ - var mpoints = data = null?[]:data; - for(var i in mpoints) { - var mpParam = mpoints[i]; - if(moralMap.getMpoint(mpParam["id"])==null){ - mpParam['click'] = showEqus; - var mpObj = new moralMap.Monitorpoint(mpParam); - moralMap.addOverlay(mpObj); - } - } - } - } - //������load - moralMap.addEventListener("load", function(type, target) { + } + } + } + + function addOverMpoints(data) { + if (moralMap.layer() == "monitorpoints") { + var mpoints = data = null ? [] : data; + for (var i in mpoints) { + var mpParam = mpoints[i]; + if (moralMap.getMpoint(mpParam["id"]) == null) { + mpParam['click'] = showEqus; + var mpObj = new moralMap.Monitorpoint(mpParam); + moralMap.addOverlay(mpObj); + } + } + } + } + + //������load + moralMap.addEventListener("load", function (type, target) { var paramMap = {}; var bounds = moralMap.getBounds(); - paramMap["areaCode"]= params['areaCode']; - paramMap["orgId"]= params['orgId']; - // ��������������������� - paramMap["Fe"]= bounds.northeastLat;//��������������������������� - paramMap["Ge"]= bounds.northeastLng;//��������������������������� - paramMap["Ke"]= bounds.southwestLat;//��������������������������������� - paramMap["Le"]= bounds.southwestLng;//��������������������������������� - loadLazy("getMonitorpointList",paramMap,addOverMpoints); + paramMap["areaCode"] = params['areaCode']; + paramMap["orgId"] = params['orgId']; + // ��������������������� + paramMap["Fe"] = bounds.northeastLat;//��������������������������� + paramMap["Ge"] = bounds.northeastLng;//��������������������������� + paramMap["Ke"] = bounds.southwestLat;//��������������������������������� + paramMap["Le"] = bounds.southwestLng;//��������������������������������� + loadLazy("getMonitorpointList", paramMap, addOverMpoints); //startRefreshPage(); showGrid(); - }); - //��������������������� ���������������,��������� - moralMap.addEventListener("tilesloaded", function(type, target) { - showGrid(); - }); + }); + //��������������������� ���������������,��������� + moralMap.addEventListener("tilesloaded", function (type, target) { + showGrid(); + }); - //map��������������� - // TODO ������ - function getBounds() { - var bs = moralMap.getBounds(); //������������������������������������ - // var bssw = bs.getSouthWest(); //���������������������������(������������) - // var bsne = bs.getNorthEast(); //���������������������������(������������) - if(!getBounds.topLeftAnchor){ - getBounds.topLeftAnchor = {}; - getBounds.topLeftAnchor.x0 = bs.southwestLng; - getBounds.topLeftAnchor.y0 = bs.northeastLat; - } - return { 'x1': bs.southwestLng, 'y1': bs.southwestLat, 'x2': bs.northeastLng, 'y2': bs.northeastLat }; - } - /** - * ������������ - */ - // TODO ������ - function showGrid(){ - var isShowGrid = getUrlParam("isShowGrid"); - if(!!isShowGrid){ - $(".tools_box").hide(); - } - // if(!isShowGrid||moralMap.getZoom()<14){ - if(!isShowGrid||moralMap.getZoom()<14){ - return; - } - var XY = getBounds(); - var polygons = []; - console.log(XY); - var X1 = XY.x1; - var Y2 = XY.y2; - var X0 = getBounds.topLeftAnchor.x0; - var Y0 = getBounds.topLeftAnchor.y0; - var width = 0.0063; - var height = 0.0048; - // var multiple = 1000000; - if(!!getBounds.topLeftAnchor) { - X1=X0 + Math.ceil((X1-X0)/width-1)*width; - Y2=Y0 + Math.ceil((Y2-Y0)/height)*height; - } - for (var i = X1; i < XY.x2; i = i + width) { - for (var j = Y2; j > XY.y1; j = j - height) { - //���������������������������������������������������:������������������Point���������������������������,���������������������������,���������������������������,���������������������������������������������������������������������������������������������������������������,������������������������������������������������������������������ - var polygon = new BMap.Polygon([ - new BMap.Point(i, j), //������������������ - new BMap.Point(i, j-height), //������������������ - new BMap.Point(i+width, j-height), //������������������ - new BMap.Point(i+width, j) //������������������ - ], {strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5, fillOpacity:0.1}); - // polygon .addEventListener("click",function clickFunction(){ - // alert("������������������"); - // }); - // moralMap.addOverlay(polygon); - polygons.push(polygon); + //map��������������� + // TODO ������ + function getBounds() { + var bs = moralMap.getBounds(); //������������������������������������ + // var bssw = bs.getSouthWest(); //���������������������������(������������) + // var bsne = bs.getNorthEast(); //���������������������������(������������) + if (!getBounds.topLeftAnchor) { + getBounds.topLeftAnchor = {}; + getBounds.topLeftAnchor.x0 = bs.southwestLng; + getBounds.topLeftAnchor.y0 = bs.northeastLat; } + return {'x1': bs.southwestLng, 'y1': bs.southwestLat, 'x2': bs.northeastLng, 'y2': bs.northeastLat}; } - moralMap.addOverlays(polygons); - if(!!showGrid.polygons){ - moralMap.removeOverlays(showGrid.polygons); - } - showGrid.polygons = polygons; - } - // ������������������ ������������ - moralMap.addEventListener("click", function(type, target) { - //moralMap.closePopupbox("#popup_box"); - }); - //������������������������������������������ - moralMap.addEventListener('zoomstart', function(type) {}); - //������������������������������������������ - moralMap.addEventListener('zoomend', function(type) { - var endZoom = this.getZoom(); - if(endZoom>=moralMap.getZoomConfine()){//������������������������ - loadOverlays("get-devices",addOverEquipments); - }else{ - loadOverlays("get-monitorpoints",addOverMpoints); - } - //moralMap.closePopupbox("#popup_box"); - }); - moralMap.addEventListener('moveend', function(type) { - var endZoom = this.getZoom(); - if(endZoom>=moralMap.getZoomConfine()){//������������������������ - loadOverlays("get-devices",addOverEquipments); - }else{ - loadOverlays("get-monitorpoints",addOverMpoints); - } - //moralMap.closePopupbox("#popup_box"); - }); - //��������������������� - $("#searchBtn").click( - function(e) { - var param = encodeURI($("#searchParam").val()); - //moralMap.showPopupbox("#popup_box"); - var url = 'get-devices-for-popup?name=' + param + "&orgId=" + params['orgId']; - listView.load(url); - } - ); - $("#searchParam").keydown(function (event) { - if(event.keyCode ==13) { - $("#searchBtn").trigger("click"); - } - }) - //������������������������������ - $(".charts_btn").click( - function (e) { - var obj = {}; - obj['methodName'] = 'showChart'; - var objStr = JSON.stringify(obj); - if(!!window['external']&&!!window['external']['callWin']){ - window['external'].callWin(objStr); - }else - if(!!window['external']&&!!window['external']['showChartInfo']){ - window['external'].showChartInfo(""); - }else{ - alert(objStr); - } - } - ); - //������������ -})(jQuery); - var _intervalNum=-1; - function startRefreshPage(){ - if(_intervalNum==-1){ - _intervalNum = self.setInterval(function(){ - refreshAllState(); - },10000); - } - setTimeout(function(){ + /** + * ������������ + */ + // TODO ������ + function showGrid() { + var isShowGrid = getUrlParam("isShowGrid"); + if (!!isShowGrid) { + $(".tools_box").hide(); + } + // if(!isShowGrid||moralMap.getZoom()<14){ + if (!isShowGrid || moralMap.getZoom() < 14) { + return; + } + var XY = getBounds(); + var polygons = []; + console.log(XY); + var X1 = XY.x1; + var Y2 = XY.y2; + var X0 = getBounds.topLeftAnchor.x0; + var Y0 = getBounds.topLeftAnchor.y0; + var width = 0.0063; + var height = 0.0048; + // var multiple = 1000000; + if (!!getBounds.topLeftAnchor) { + X1 = X0 + Math.ceil((X1 - X0) / width - 1) * width; + Y2 = Y0 + Math.ceil((Y2 - Y0) / height) * height; + } + for (var i = X1; i < XY.x2; i = i + width) { + for (var j = Y2; j > XY.y1; j = j - height) { + //���������������������������������������������������:������������������Point���������������������������,���������������������������,���������������������������,���������������������������������������������������������������������������������������������������������������,������������������������������������������������������������������ + var polygon = new BMap.Polygon([ + new BMap.Point(i, j), //������������������ + new BMap.Point(i, j - height), //������������������ + new BMap.Point(i + width, j - height), //������������������ + new BMap.Point(i + width, j) //������������������ + ], {strokeColor: "blue", strokeWeight: 2, strokeOpacity: 0.5, fillOpacity: 0.1}); + // polygon .addEventListener("click",function clickFunction(){ + // alert("������������������"); + // }); + // moralMap.addOverlay(polygon); + polygons.push(polygon); + } + } + moralMap.addOverlays(polygons); + if (!!showGrid.polygons) { + moralMap.removeOverlays(showGrid.polygons); + } + showGrid.polygons = polygons; + } + + // ������������������ ������������ + moralMap.addEventListener("click", function (type, target) { + //moralMap.closePopupbox("#popup_box"); + }); + //������������������������������������������ + moralMap.addEventListener('zoomstart', function (type) { + }); + //������������������������������������������ + moralMap.addEventListener('zoomend', function (type) { + var endZoom = this.getZoom(); + if (endZoom >= moralMap.getZoomConfine()) {//������������������������ + loadOverlays("get-devices", addOverEquipments); + } else { + loadOverlays("get-monitorpoints", addOverMpoints); + } + //moralMap.closePopupbox("#popup_box"); + }); + moralMap.addEventListener('moveend', function (type) { + var endZoom = this.getZoom(); + if (endZoom >= moralMap.getZoomConfine()) {//������������������������ + loadOverlays("get-devices", addOverEquipments); + } else { + loadOverlays("get-monitorpoints", addOverMpoints); + } + //moralMap.closePopupbox("#popup_box"); + }); + //��������������������� + $("#searchBtn").click( + function (e) { + var param = encodeURI($("#searchParam").val()); + //moralMap.showPopupbox("#popup_box"); + var url = 'get-devices-for-popup?name=' + param + "&orgId=" + params['orgId']; + listView.load(url); + } + ); + $("#searchParam").keydown(function (event) { + if (event.keyCode == 13) { + $("#searchBtn").trigger("click"); + } + }) + //������������������������������ + $(".charts_btn").click( + function (e) { + var obj = {}; + obj['methodName'] = 'showChart'; + var objStr = JSON.stringify(obj); + if (!!window['external'] && !!window['external']['callWin']) { + window['external'].callWin(objStr); + } else if (!!window['external'] && !!window['external']['showChartInfo']) { + window['external'].showChartInfo(""); + } else { + alert(objStr); + } + } + ); + //������������ + + })(jQuery); + var _intervalNum = -1; + + function startRefreshPage() { + if (_intervalNum == -1) { + _intervalNum = self.setInterval(function () { + refreshAllState(); + }, 10000); + } + setTimeout(function () { refreshAllState(); - },5000); + }, 5000); } - function stopRefreshPage(){ + + function stopRefreshPage() { window.clearInterval(_intervalNum); - _intervalNum=-1; + _intervalNum = -1; } - //������������ - function refreshAllState() { - var parma={}; - /* if(moralMap.isPopupBoxShow("#popup_box")) { - var popupEquMacs = moralMap.getPopupEquMacs(); - if(popupEquMacs!=null&&popupEquMacs.length>0){ - parma["popupEquMacs"] = popupEquMacs; - } - } */ - //������������ - var oldMarkerList = moralMap.getHorizonMarkers(true); - var markerKeys = []; - key = moralMap.layer()=="monitorpoints"?"id":"mac"; - for(var i in oldMarkerList){ - var marker = oldMarkerList[i]; - var key_value = marker.getOption()[key]; - if(key_value!=null){ - markerKeys.push(key_value); - } - } - parma["layer"] =moralMap.layer(); - parma["markerKeys"] = markerKeys; + + //������������ + function refreshAllState() { + var parma = {}; + /* if(moralMap.isPopupBoxShow("#popup_box")) { + var popupEquMacs = moralMap.getPopupEquMacs(); + if(popupEquMacs!=null&&popupEquMacs.length>0){ + parma["popupEquMacs"] = popupEquMacs; + } + } */ + //������������ + var oldMarkerList = moralMap.getHorizonMarkers(true); + var markerKeys = []; + key = moralMap.layer() == "monitorpoints" ? "id" : "mac"; + for (var i in oldMarkerList) { + var marker = oldMarkerList[i]; + var key_value = marker.getOption()[key]; + if (key_value != null) { + markerKeys.push(key_value); + } + } + parma["layer"] = moralMap.layer(); + parma["markerKeys"] = markerKeys; parma["areaCode"] = moralMap['params']["areaCode"]; parma["orgId"] = moralMap['params']["orgId"]; - if((!!parma["popupEquMacs"]&&!!parma["popupEquMacs"].length) - ||(!!parma["markerKeys"]&&!!parma["markerKeys"].length)){ + if ((!!parma["popupEquMacs"] && !!parma["popupEquMacs"].length) + || (!!parma["markerKeys"] && !!parma["markerKeys"].length)) { $.ajax({ type: "post", url: "get-real-state-data", - data:JSON.stringify(parma), - dataType:"json", - contentType:"application/json;charset=utf-8", + data: JSON.stringify(parma), + dataType: "json", + contentType: "application/json;charset=utf-8", cache: false, async: true, - success: function(data) { - if(data!=null&&typeof data === 'object') { + success: function (data) { + if (data != null && typeof data === 'object') { var resultMap = data["extData"]; - if(resultMap==null){ + if (resultMap == null) { return; } var markers = resultMap["markers"]; var layer = resultMap["layer"]; - if(markers!=null&&markers.length>0){ - if(layer=="monitorpoints"){ - for(var a_i in markers){ + if (markers != null && markers.length > 0) { + if (layer == "monitorpoints") { + for (var a_i in markers) { var marker = markers[a_i]; var marker_id = marker["id"]; var mpoint = moralMap.getMpoint(marker_id); - if(mpoint!=null){ + if (mpoint != null) { mpoint.refreshState(marker["state"]); } // mpoint.refreshState(4); } - }else{ - for(var b_i in markers){ + } else { + for (var b_i in markers) { var marker = markers[b_i]; var marker_mac = marker["mac"]; var equipment = moralMap.getEquipment(marker_mac); - if(equipment!=null){ + if (equipment != null) { equipment.refreshState(marker); } } } - + var equ = { - methodName : 'refreshState', - markers : markers, - layer : layer - } + methodName: 'refreshState', + markers: markers, + layer: layer + } var equStr = JSON.stringify(equ); - if(window["console"]!=undefined){ - } - if(!!window['external']&&!!window['external']['callWin']){ - window['external'].callWin(equStr); - } + if (window["console"] != undefined) { + } + if (!!window['external'] && !!window['external']['callWin']) { + window['external'].callWin(equStr); + } } - if(resultMap["popupEquStates"]!=null){ + if (resultMap["popupEquStates"] != null) { listView.refreshState(resultMap["popupEquStates"]); } } } }); - } - } - - function callJS(jsonData){ - var jsonData = JSON.parse(jsonData); - var methodName = jsonData.methodName; - if("JumpBaiduMap" == methodName){ - moralMap.callJS(jsonData); - } else if ("RefreshState" == methodName) { - //$("#searchParam").val(JSON.stringify(jsonData)); - var states = jsonData.states; - moralMap.refreshState(states); - } - } + } + } + + function callJS(jsonData) { + // $("#searchParam").val(jsonData); + var jsonData = JSON.parse(jsonData); + var methodName = jsonData.methodName; + if ("JumpBaiduMap" == methodName) { + moralMap.callJS(jsonData); + } else if ("RefreshState" == methodName) { + var states = jsonData.states; + moralMap.refreshState(states); + } else if ("DeliverSensors" == methodName) { + moralMap.showSensors(jsonData); + } + } </script> -- Gitblit v1.8.0