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