From b13ca7916113b626fa6c2217fcfbe4ade3de0dca Mon Sep 17 00:00:00 2001
From: fengxiang <110431245@qq.com>
Date: Mon, 13 Aug 2018 16:36:35 +0800
Subject: [PATCH] 可设置地图展示级别
---
src/main/webapp/view/map.jsp | 243 +++++++++++++++++++++++++++++++++++++-----------
1 files changed, 187 insertions(+), 56 deletions(-)
diff --git a/src/main/webapp/view/map.jsp b/src/main/webapp/view/map.jsp
index eaf7569..7c97418 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 {
@@ -236,9 +248,36 @@
.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"/>
@@ -261,15 +300,23 @@
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();
+ $("#searchParam").val(mpoint['name']);
var url = 'get-devices-by-mid-oid?mpId=' + mpoint['id'] + "&orgId=" + params['orgId'];
listView.load(url);
moralMap.showPopupbox("#popup_box");
@@ -310,7 +357,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);
}
}
@@ -333,17 +385,22 @@
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){
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);
@@ -374,16 +431,66 @@
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();
+ showGrid();
});
//��������������������� ���������������,���������
moralMap.addEventListener("tilesloaded", function(type, target) {
+ showGrid();
});
+
+ //map���������������
+ // TODO ������
+ function bs() {
+ var bs = moralMap.getBounds(); //������������������������������������
+ // var bssw = bs.getSouthWest(); //���������������������������(������������)
+ // var bsne = bs.getNorthEast(); //���������������������������(������������)
+ 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 = bs();
+ var polygons = [];
+ console.log(XY);
+ for (var i = XY.x1; i < XY.x2; i = i + 0.0063) {
+ for (var j = XY.y2; j > XY.y1; j = j - 0.0048) {
+ //���������������������������������������������������:������������������Point���������������������������,���������������������������,���������������������������,���������������������������������������������������������������������������������������������������������������,������������������������������������������������������������������
+ var polygon = new BMap.Polygon([
+ new BMap.Point(i, j), //������������������
+ new BMap.Point(i, j-0.0048), //������������������
+ new BMap.Point(i+0.0063, j-0.0048), //������������������
+ new BMap.Point(i+0.0063, j) //������������������
+ ], {strokeColor:"blue", strokeWeight:2, strokeOpacity:1, 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");
@@ -393,7 +500,7 @@
//������������������������������������������
moralMap.addEventListener('zoomend', function(type) {
var endZoom = this.getZoom();
- if(endZoom>=moralMap.getZooMConfine()){//������������������������
+ if(endZoom>=moralMap.getZoomConfine()){//������������������������
loadOverlays("get-devices",addOverEquipments);
}else{
loadOverlays("get-monitorpoints",addOverMpoints);
@@ -402,7 +509,7 @@
});
moralMap.addEventListener('moveend', function(type) {
var endZoom = this.getZoom();
- if(endZoom>=moralMap.getZooMConfine()){//������������������������
+ if(endZoom>=moralMap.getZoomConfine()){//������������������������
loadOverlays("get-devices",addOverEquipments);
}else{
loadOverlays("get-monitorpoints",addOverMpoints);
@@ -417,7 +524,28 @@
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);
@@ -460,49 +588,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