From 4fdc4a6da681223148849a9b2eaf90227a56148a Mon Sep 17 00:00:00 2001
From: xufenglei <xufenglei>
Date: Fri, 09 Nov 2018 13:22:47 +0800
Subject: [PATCH] 地图 更改从列表定位

---
 src/main/webapp/js/moralmap.js |   32 ++++++++++++++++++++++++++++++--
 src/main/webapp/view/map.jsp   |   24 ++++++++++++++----------
 2 files changed, 44 insertions(+), 12 deletions(-)

diff --git a/src/main/webapp/js/moralmap.js b/src/main/webapp/js/moralmap.js
index 1364c59..f097d2b 100644
--- a/src/main/webapp/js/moralmap.js
+++ b/src/main/webapp/js/moralmap.js
@@ -550,6 +550,7 @@
 	//new BMap.Marker()������������IE7���������������������
 	moralMap.MoralMarker.prototype = new BMap.Marker();
 	//��������������� ������Mark������
+	var showMonitorpointInfoWindow = null;
 	moralMap.Monitorpoint = function(option) {
 		var icon = {};
 		icon["stateIcons"] = ["/img/ico00.png", "/img/ico01.png", "/img/ico02.png", "/img/ico03.png", "/img/ico04.png"];
@@ -593,12 +594,15 @@
 				adressOutHtml += "<tbody><tr><td style='vertical-align:top;width:38px;white-space:nowrap;word-break:keep-all'>���������&nbsp;</td><td style='line-height:16px'>";
 				adressOutHtml += address + "&nbsp;";
 				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 += "<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 (!showMonitorpointInfoWindow) {
+			showMonitorpointInfoWindow = infoWindow;
+		}
 		if(moralMarker["infoWindow"] == undefined) {
 			moralMarker["infoWindow"] = infoWindow;
 		}
@@ -638,6 +642,7 @@
 	}
 	//���������mac���key������
 	//��������������� ������MoralMark������
+	var showEquipmentInfoWindow = null;
 	moralMap.Equipment = function(option) {
 		var icon = {};
 		icon["stateIcons"] = ["/img/ico_coo00.png", "/img/ico_coo01.png", "/img/ico_coo02.png", "/img/ico_coo03.png", "/img/ico_coo04.png"];
@@ -674,6 +679,9 @@
 			}
 			return new BMap.InfoWindow("", winOpts);
 		})();
+		if (!showEquipmentInfoWindow) {
+			showEquipmentInfoWindow = infoWindow;
+		}
 		var dataHandle = {
 			_getDataOutHtml: function(data) {
 			    if(data==null||data["state"]==4){
@@ -902,6 +910,26 @@
             }
 		}
 
-    }
+	}
+
+    moralMap.callJS = function(condition) {
+		var condition = JSON.parse(condition);
+		var new_point = new BMap.Point(condition.longitude, condition.latitude);
+		baiduMap.panTo(new_point);
+		baiduMap.setCenter(new_point);
+		if (condition.type == "mpoint") {
+			baiduMap.setZoom(17);
+			new moralMap.Monitorpoint(condition);
+			moralMap.openInfoWindow(showMonitorpointInfoWindow, new_point);
+			showMonitorpointInfoWindow = null;
+		} else if (condition.type == "device") {
+			baiduMap.setZoom(18);
+			new moralMap.Equipment(condition);
+			moralMap.openInfoWindow(showEquipmentInfoWindow, new_point);
+			showEquipmentInfoWindow = null;
+		}
+	}
+
+
 	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 8144d86..2ca7b1e 100644
--- a/src/main/webapp/view/map.jsp
+++ b/src/main/webapp/view/map.jsp
@@ -278,14 +278,14 @@
 			<div class="charts_btn">
 			</div>
 		</div>
-	    <div class="search_box">
+	    <!-- <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> -->
 	  <div id="mapCanvas"></div>
 	  <div id="mapParams" style="display: none;">
 	  	${requestScope.mapParams}
@@ -316,10 +316,10 @@
 
 		var params = moralMap['params'];
 		var mpoint = obj.currentTarget.getOption();
-        $("#searchParam").val(mpoint['name']);
+        //$("#searchParam").val(mpoint['name']);
 		var url = 'get-devices-by-mid-oid?mpId=' + mpoint['id'] + "&orgId=" + params['orgId'];
 		listView.load(url); 
-		moralMap.showPopupbox("#popup_box");
+		//moralMap.showPopupbox("#popup_box");
 	}
 	function loadLazy(url,paramMap,callBack,lazyKeyer){
 		if(lazyKeyer==undefined){
@@ -508,7 +508,7 @@
     }
 	// ������������������ ������������
     moralMap.addEventListener("click", function(type, target) {
-        moralMap.closePopupbox("#popup_box");
+        //moralMap.closePopupbox("#popup_box");
     });
 	//������������������������������������������
 	moralMap.addEventListener('zoomstart', function(type) {});
@@ -520,7 +520,7 @@
 	     }else{
 				loadOverlays("get-monitorpoints",addOverMpoints);
 	     }
-	     moralMap.closePopupbox("#popup_box");
+	     //moralMap.closePopupbox("#popup_box");
 	});
 	moralMap.addEventListener('moveend', function(type) {
 	     var endZoom = this.getZoom();
@@ -529,13 +529,13 @@
 	     }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); 
 		}
@@ -582,12 +582,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 = [];
@@ -651,4 +651,8 @@
             });
 		}
 	}
+	
+	function callJS(jsonData){
+		moralMap.callJS(jsonData);
+	}
 </script>

--
Gitblit v1.8.0