From 2e342d040375b2c0a353357353200a6e07c8f87e Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Tue, 29 May 2018 14:50:23 +0800 Subject: [PATCH] 地图相关资源 --- src/main/webapp/js/moralmap.js | 67 +++++++++++++--------- src/main/webapp/view/map.jsp | 105 +++++++++++++++++++---------------- 2 files changed, 97 insertions(+), 75 deletions(-) diff --git a/src/main/webapp/js/moralmap.js b/src/main/webapp/js/moralmap.js index 4bcc87a..3ff6473 100644 --- a/src/main/webapp/js/moralmap.js +++ b/src/main/webapp/js/moralmap.js @@ -54,7 +54,7 @@ style: "normal" //������������������������������ } map.setMapStyle(mapStyle); - var showZoom = 12; + var showZoom = 13; if(arguments.length == 2) { map.centerAndZoom(new BMap.Point(arguments[0], arguments[1]), showZoom); } else if(arguments.length == 1) { @@ -139,43 +139,56 @@ } } })(); + // ��������������� + moralMap.Bounds = function (baiduBounds) { + if(!!baiduBounds){ + this.northeastLng = baiduBounds.xl.lng;//��������������������������� + this.northeastLat = baiduBounds.xl.lat;//��������������������������� + this.southwestLng = baiduBounds.Ol.lng;//��������������������������������� + this.southwestLat = baiduBounds.Ol.lat;//��������������������������������� + }else{ + this.northeastLng = null;//��������������������������� + this.northeastLat = null;//��������������������������� + this.southwestLng = null;//��������������������������������� + this.southwestLat = null;//��������������������������������� + } + } moralMap.getBounds = function() { - return baiduMap.getBounds(); //������bounds; + return new moralMap.Bounds(baiduMap.getBounds()); //������bounds; } moralMap.getMaxBounds = function() { var key = "_" + moralMap.layer() + "_bounds"; return this[key]; } - moralMap.setMaxBounds = function(bounds) { + moralMap.setMaxBounds = function(bs) { var key = "_" + moralMap.layer() + "_bounds"; - var _bounds = this[key]; //������������ - if(_bounds == undefined) { - _bounds = {}; - } - if(bounds == undefined) { - bounds = baiduMap.getBounds(); - } + var _bounds = !!this[key]?this[key]:new moralMap.Bounds(); //������������ //������������������ - _bounds["Fe"] = _bounds['Fe'] || bounds['Fe']; //��������������������������� - _bounds["Ge"] = _bounds['Ge'] || bounds['Ge']; //��������������������������� - _bounds["Ke"] = _bounds['Ke'] || bounds['Ke']; //��������������������������������� - _bounds["Le"] = _bounds['Le'] || bounds['Le']; //��������������������������������� - _bounds["Fe"] = bounds['Fe'] > _bounds["Fe"] ? bounds['Fe'] : _bounds["Fe"]; //��������������������������� - _bounds["Ge"] = bounds['Ge'] > _bounds["Ge"] ? bounds['Ge'] : _bounds["Ge"]; //��������������������������� - _bounds["Ke"] = bounds['Ke'] < _bounds["Ke"] ? bounds['Ke'] : _bounds["Ke"]; //��������������������������������� - _bounds["Le"] = bounds['Le'] < _bounds["Le"] ? bounds['Le'] : _bounds["Le"]; //��������������������������������� + _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 bounds = baiduMap.getBounds(); //������������ - if(_bounds == null) { + var bs = moralMap.getBounds(); //������������ + if(!_bounds) { isOver = true; - moralMap.setMaxBounds(bounds); + moralMap.setMaxBounds(bs); } else { - isOver = (bounds['Fe'] > _bounds["Fe"] || bounds['Ge'] > _bounds["Ge"] || bounds['Ke'] < _bounds["Ke"] || bounds['Le'] < _bounds["Le"]); - moralMap.setMaxBounds(bounds); + isOver = (bs.northeastLng > _bounds.northeastLng + || bs.northeastLat > _bounds.northeastLat + || bs.southwestLng > _bounds.southwestLng + || bs.southwestLat > _bounds.southwestLat); + if(isOver){ + moralMap.setMaxBounds(bs); + } } return isOver; @@ -528,7 +541,7 @@ width: 110, // ������������������ height: 80, // ������������������ title: getTitleOutHtml(), // ������������������ - offset: new BMap.Size(-2, -21) //��������������������� + offset: new BMap.Size(-2,0) //��������������������� } function getTitleOutHtml() { @@ -620,7 +633,7 @@ width: option["online_width"], // ������������������ height:option["online_height"], // ������������������ title: getTitleOutHtml(), // ������������������ - offset: new BMap.Size(-2, -30) //��������������������� + offset: new BMap.Size(-2, -10) //��������������������� } function getTitleOutHtml() { @@ -806,7 +819,7 @@ return 18; } moralMap.getHorizonMarkers = function(isShow) { - var bounds = baiduMap.getBounds(); + var bounds = moralMap.getBounds(); var oldMarkerList; var isShow = (isShow) ? baiduMap : null; if(moralMap.layer() == "equipments") { @@ -823,7 +836,7 @@ if(typeof option == 'object') { var longitude = option['longitude']; var latitude = option['latitude']; - if(longitude < bounds['Ge'] && longitude > bounds['Le'] && latitude < bounds['Fe'] && latitude > bounds['Ke']) { + if(longitude < bounds.northeastLng && longitude > bounds.southwestLng && latitude < bounds.northeastLat && latitude > bounds.southwestLat) { markers.push(oldmarker); } } diff --git a/src/main/webapp/view/map.jsp b/src/main/webapp/view/map.jsp index 6fc278f..24d95aa 100644 --- a/src/main/webapp/view/map.jsp +++ b/src/main/webapp/view/map.jsp @@ -350,7 +350,12 @@ var maxBounds = moralMap.getMaxBounds(); var paramMap = {}; paramMap["orgId"]= params['orgId']; - $.extend(paramMap,maxBounds); + // ��������������������� + paramMap["Fe"]= maxBounds.northeastLat;//��������������������������� + paramMap["Ge"]= maxBounds.northeastLng;//��������������������������� + paramMap["Ke"]= maxBounds.southwestLat;//��������������������������������� + paramMap["Le"]= maxBounds.southwestLng;//��������������������������������� + // $.extend(paramMap,maxBounds); loadLazy(url,paramMap,callback); } } @@ -419,10 +424,11 @@ 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(); }); @@ -526,49 +532,52 @@ parma["markerKeys"] = markerKeys; parma["areaCode"] = moralMap['params']["areaCode"]; parma["orgId"] = moralMap['params']["orgId"]; - $.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"]); - } + 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); + } + } + } + } + if(resultMap["popupEquStates"]!=null){ + listView.refreshState(resultMap["popupEquStates"]); + } + } + } + }); + } } </script> -- Gitblit v1.8.0