From 0b646569a295da41eed5cbbcc80309a7472a47a0 Mon Sep 17 00:00:00 2001 From: ZhuDongming <773644075@qq.com> Date: Wed, 12 Jun 2019 15:30:47 +0800 Subject: [PATCH] 更改上传导包*问题 --- src/main/webapp/view/map.jsp | 376 +++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 287 insertions(+), 89 deletions(-) diff --git a/src/main/webapp/view/map.jsp b/src/main/webapp/view/map.jsp index 6473019..97427ad 100644 --- a/src/main/webapp/view/map.jsp +++ b/src/main/webapp/view/map.jsp @@ -2,7 +2,7 @@ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@page isELIgnored="false" %> <% - String version ="1.000003"; + String version ="1.000004"; response.setHeader("Cache-Control","no-store"); response.setHeader("Pragrma","no-cache"); response.setDateHeader("Expires",0); @@ -13,6 +13,7 @@ <title></title> <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"); @@ -48,7 +49,17 @@ 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; @@ -105,7 +116,8 @@ float: right; width: 70px; height: 28px; - line-height: 28px + line-height: 28px; + cursor:pointer; } .list { @@ -113,26 +125,31 @@ 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; + /*cursor: pointer;*/ } .list span{ float: right; position: relative; - right: 18px; + right: 5px; border-radius:4px; - width: 70px; + width: 40px; text-align: center; height: 24px; line-height: 24px; - font-size: 16px; + font-size: 14px; + font-weight: bolder; + color: white; margin: 10px 0; padding:2px 0; margin-right: 8px; @@ -144,6 +161,7 @@ .list .state01 { background-color: #FF9; + color: #ff7f00; } .list .state02 { @@ -156,9 +174,9 @@ } .list .state04 { - - background-color: #eee; - color: #777 + /*background-color: #eee;*/ + /*color: #777 ;*/ + background-color: #738d99 ; } /* * ������������������---������������ @@ -230,17 +248,44 @@ .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="search_box"> + <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> --> + <!-- <div id="popup_box"> <div id="equ_list" class="listview"> </div> - </div> + </div> --> <div id="mapCanvas"></div> <div id="mapParams" style="display: none;"> ${requestScope.mapParams} @@ -255,16 +300,24 @@ 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"]); + moralMap.mapInit(params["regionName"],mapOption,showZoom); //������������ var listView =moralMap.initListView({id: "#equ_list",pageSize:12}); window["listView"] = listView; //���������������������click������������ function showEqus(obj) { + var params = moralMap['params']; var mpoint = obj.currentTarget.getOption(); - var url = 'get-devices?mpId=' + mpoint['id'] + "&orgId=" + params['orgId']; + //$("#searchParam").val(mpoint['name']); + var url = 'get-devices-by-mid-oid?mpId=' + mpoint['id'] + "&orgId=" + params['orgId']; listView.load(url); moralMap.showPopupbox("#popup_box"); } @@ -304,30 +357,50 @@ var maxBounds = moralMap.getMaxBounds(); var paramMap = {}; paramMap["orgId"]= params['orgId']; - $.extend(paramMap,maxBounds); + 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["rows"]==null?[]:jsonData["rows"]; + 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(); + 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'], - version:moralMap.getVersion(_obj['mac']) + monitorPointId: _obj['monitorPointId'], + version:_obj['deviceVersion']['version'] } var equStr = JSON.stringify(equ); if(window["console"]!=undefined){ - console.log(equStr); } - if(window['external']&&window['external']['showMonitorInfo']){ + if(!!window['external']&&!!window['external']['callWin']){ + window['external'].callWin(equStr); + }else + if(!!window['external']&&!!window['external']['showMonitorInfo']){ window['external'].showMonitorInfo(equStr); }else{ alert(equStr); @@ -358,53 +431,137 @@ var bounds = moralMap.getBounds(); paramMap["areaCode"]= params['areaCode']; paramMap["orgId"]= params['orgId']; - paramMap["Fe"]= bounds['Fe'];//��������������������������� - paramMap["Ge"]= bounds['Ge'];//��������������������������� - paramMap["Ke"]= bounds['Ke'];//��������������������������������� - paramMap["Le"]= bounds['Le'];//��������������������������������� + // ��������������������� + paramMap["Fe"]= bounds.northeastLat;//��������������������������� + paramMap["Ge"]= bounds.northeastLng;//��������������������������� + paramMap["Ke"]= bounds.southwestLat;//��������������������������������� + paramMap["Le"]= bounds.southwestLng;//��������������������������������� loadLazy("getMonitorpointList",paramMap,addOverMpoints); - startRefreshPage(); + //startRefreshPage(); + showGrid(); }); //��������������������� ���������������,��������� moralMap.addEventListener("tilesloaded", function(type, target) { -// var endZoom = this.getZoom(); -// if(endZoom>=moralMap.getZooMConfine()){//������������������������ -// loadOverlays("getequipments",addOverEquipments); -// }else{ -// loadOverlays("get-monitorpoints",addOverMpoints); -// } -// moralMap.closePopupbox("#popup_box"); + 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); + } + } + 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("getequipments",addOverEquipments); + if(endZoom>=moralMap.getZoomConfine()){//������������������������ + loadOverlays("get-devices",addOverEquipments); }else{ loadOverlays("get-monitorpoints",addOverMpoints); } - moralMap.closePopupbox("#popup_box"); + //moralMap.closePopupbox("#popup_box"); }); moralMap.addEventListener('moveend', function(type) { var endZoom = this.getZoom(); - if(endZoom>=moralMap.getZooMConfine()){//������������������������ - loadOverlays("getequipments",addOverEquipments); + if(endZoom>=moralMap.getZoomConfine()){//������������������������ + loadOverlays("get-devices",addOverEquipments); }else{ loadOverlays("get-monitorpoints",addOverMpoints); } - moralMap.closePopupbox("#popup_box"); + //moralMap.closePopupbox("#popup_box"); }); //��������������������� $("#searchBtn").click( function(e) { var param = encodeURI($("#searchParam").val()); - moralMap.showPopupbox("#popup_box"); + //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); @@ -417,7 +574,7 @@ } setTimeout(function(){ refreshAllState(); - },2000); + },5000); } function stopRefreshPage(){ window.clearInterval(_intervalNum); @@ -426,12 +583,12 @@ //������������ function refreshAllState() { var parma={}; - if(moralMap.isPopupBoxShow("#popup_box")) { + /* 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 = []; @@ -447,49 +604,90 @@ parma["markerKeys"] = markerKeys; parma["areaCode"] = moralMap['params']["areaCode"]; parma["orgId"] = moralMap['params']["orgId"]; - $.ajax({ - type: "post", - url: "getstatesformap", - 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') { - var resultMap = data["extData"]; - 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){ - var marker = markers[a_i]; - var marker_id = marker["id"]; - var mpoint = moralMap.getMpoint(marker_id); - if(mpoint!=null){ - mpoint.refreshState(marker["state"]); - } + 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", + cache: false, + async: true, + success: function(data) { + if(data!=null&&typeof data === 'object') { + var resultMap = data["extData"]; + 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){ + var marker = markers[a_i]; + var marker_id = marker["id"]; + var mpoint = moralMap.getMpoint(marker_id); + if(mpoint!=null){ + mpoint.refreshState(marker["state"]); + } // mpoint.refreshState(4); - } - }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){ - equipment.refreshState(marker); - } - } - } - } - if(resultMap["popupEquStates"]!=null){ - listView.refreshState(resultMap["popupEquStates"]); - } - } - } - }); + } + }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){ + equipment.refreshState(marker); + } + } + } + + var equ = { + 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(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; + for(var i in states){ + var state = states[i]; + var mpoint = moralMap.getMpoint(state.id); + if(mpoint!=null){ + 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!=null){ + equipment.refreshState(marker); + } + } + } + } } </script> -- Gitblit v1.8.0