From 8ea24dd5fb6e1b24d3a7ef62a0060ef516f8f759 Mon Sep 17 00:00:00 2001 From: xufenglei <xufenglei> Date: Thu, 24 May 2018 08:58:16 +0800 Subject: [PATCH] 更新 监测点 数据 --- src/main/webapp/js/moralmap.js | 113 +++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 87 insertions(+), 26 deletions(-) diff --git a/src/main/webapp/js/moralmap.js b/src/main/webapp/js/moralmap.js index 7dde6fd..4bcc87a 100644 --- a/src/main/webapp/js/moralmap.js +++ b/src/main/webapp/js/moralmap.js @@ -208,11 +208,22 @@ } return moralMarker; } + moralMap.clearCloseInfoWindow = function () { + if(!!moralMap["_closeInfoWinTimer"]){ + clearTimeout(moralMap["_closeInfoWinTimer"]); + moralMap["_closeInfoWinTimer"] = null; + } + } moralMap.openInfoWindow = function() { - baiduMap.openInfoWindow.apply(baiduMap, arguments); + moralMap.clearCloseInfoWindow(); + baiduMap.openInfoWindow.apply(baiduMap, arguments);; //������������������ } moralMap.closeInfoWindow = function() { - baiduMap.closeInfoWindow.apply(baiduMap, arguments); + var timer = setTimeout(function () { + baiduMap.closeInfoWindow.apply(baiduMap, arguments); + moralMap["_closeInfoWinTimer"] = null; + },1200); + moralMap["_closeInfoWinTimer"] = timer; } moralMap.clearOverlays = function() { baiduMap.clearOverlays(); @@ -245,36 +256,48 @@ } //������������ moralMap.showPopupbox = function(id) { - $(id).css('display', 'block'); + setTimeout(function () { + $(id).css('display', 'block'); + },1); } moralMap.closePopupbox = function(id) { - $(id).css('display', 'none'); + $(id).css('display', 'none'); } moralMap.isPopupBoxShow = function(id) { return $(id).css('display') == 'block'; } - moralMap.onItermClick = function(index) { + moralMap.onItermClick = function(index,select) { var row = moralMap.getPopupEqu(index); if(row['mac']==null){ alert("mac���������������������������������������"); return; } var equ = { + methodName : 'chart'== select ?'showChart':'showDeviceMonitor', name: row['name'], mac: (row['mac']).toLowerCase(), longitude: row['longitude'], latitude: row['latitude'], + monitorPointId: row['monitorPointId'], version:row['deviceVersion']['version'] - } + }; + !!select?equ['monitorPointId'] = row["monitorPointId"]:null; var equStr = JSON.stringify(equ); - if(window["console"]!=undefined){ - console.log(equStr); - } - if(window['external']&&window['external']['showMonitorInfo']){ - window['external'].showMonitorInfo(equStr); - }else{ - alert(equStr); + if(window["console"]!=undefined){ + console.log(equStr); } + if(!!window['external']&&window['external']['callWin']){ + window['external'].callWin(equStr); + }else{ + if(!!select&&select==='chart'&&!!window['external']&&window['external']['showChartInfo']){ + window['external'].showChartInfo(equStr); + }else if(!!window['external']&&window['external']['showMonitorInfo']){ + window['external'].showMonitorInfo(equStr); + }else{ + alert(equStr); + } + } + } moralMap.setPopupEqus = function(arr) { moralMap["_equs"] = arr; @@ -350,7 +373,7 @@ break; case 4: state = 'state04'; - stateName = '������'; + stateName = '������'; break; } return { @@ -406,7 +429,9 @@ } name = name.substring(0, stop1) + "..." + name.substring(stop2, name.length); } - var li = "<li id='listview_item_" + e['mac'] + "' onclick=moralMap.onItermClick(" + i + ")><span id='listview_state_" + e['mac'] + "' class='" + state + "'>" + stateName + "</span>" + name + "</li>"; + var li = "<li id='listview_item_" + e['mac'] + "'><span class='list-chart-span' onclick=moralMap.onItermClick(\"" + i + "\",'chart')><img src='/img/chart.png'></span>" + +"<span id='listview_state_" + e['mac'] + "'class='" + state + "'>" + stateName + "</span>" + + "<div style='cursor: pointer;' onclick=moralMap.onItermClick(\"" + i + "\")>" + name + "</div></li>"; outHtml += li; } outHtml += "</ul>"; @@ -470,9 +495,12 @@ } return $.extend(this, { refreshState: function(state) { - _option['state'] = state; - var iconObj = _getMapIcon(state); - this.setIcon(iconObj); + //��������������������������������� ������ + if(_option['state'] != state){ + _option['state'] = state; + var iconObj = _getMapIcon(state); + this.setIcon(iconObj); + } }, getOption: function() { return _option; @@ -483,7 +511,7 @@ }) } //new BMap.Marker()������������IE7��������������������� - moralMap.MoralMarker.prototype = BMap.Marker.prototype; + moralMap.MoralMarker.prototype = new BMap.Marker(); //��������������� ������Mark������ moralMap.Monitorpoint = function(option) { var icon = {}; @@ -498,7 +526,7 @@ //��������������� var winOpts = { width: 110, // ������������������ - height: 50, // ������������������ + height: 80, // ������������������ title: getTitleOutHtml(), // ������������������ offset: new BMap.Size(-2, -21) //��������������������� } @@ -522,24 +550,27 @@ address = address.slice(0, 18) + "..."; } var adressOutHtml = ""; - adressOutHtml += "<div style='font:12px arial,sans-serif;margin-top:12px'><table cellspacing='0' style='overflow:hidden;table-layout:fixed;width:100%;font:12px arial,sans-serif'>"; + adressOutHtml += "<div onmouseover='moralMap.clearCloseInfoWindow()'"; + adressOutHtml += "onmouseout='moralMap.closeInfoWindow()'"; + adressOutHtml +=" style='font:12px arial,sans-serif;margin-top:12px'><table cellspacing='0' style='overflow:hidden;table-layout:fixed;width:100%;font:12px arial,sans-serif'>"; adressOutHtml += "<tbody><tr><td style='vertical-align:top;width:38px;white-space:nowrap;word-break:keep-all'>��������� </td><td style='line-height:16px'>"; adressOutHtml += address + " "; - adressOutHtml += "</td></tr></tbody></table></div>"; + 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 += "</tbody></table></div>"; return adressOutHtml; } return new BMap.InfoWindow(getAdressOutHtml(), winOpts); })(); - if(moralMask["infoWindow"] == undefined) { moralMask["infoWindow"] = infoWindow; } //��������������������� moralMask.addEventListener("mouseover", function() { - baiduMap.openInfoWindow(infoWindow, this._point); //������������������ + moralMap.openInfoWindow(infoWindow, this._point); //������������������ }); moralMask.addEventListener("mouseout", function() { - baiduMap.closeInfoWindow(); + moralMap.closeInfoWindow(); }); //==================infoWindow-end============================ //��������������� @@ -609,7 +640,7 @@ var dataHandle = { _getDataOutHtml: function(data) { if(data==null||data["state"]==4){ - return "<br/><h3>������������������������,������������������!</h3>"; + return "<br/><h3>������������������������,������������������!</h3>"; } var mac = data['mac']; var itme_mac_key = "item-" + mac + "-" + key; @@ -801,5 +832,35 @@ } return markers; } + moralMap.showPointMonitor = function (id) { + var mpointMarker = moralMap.getMpoint(id); + var mpoint = mpointMarker.getOption(); + if(!!mpoint){ + delete mpoint['organization']; + delete mpoint['icon']; + delete mpoint['click']; + if(window["console"]!=undefined){ + console.log(mpoint); + } + $.get("getvers?mptid="+id,function (res) { + if(!!res&&res.code==1){ + mpoint['versions'] = res.data; + mpoint['methodName'] = 'showPointMonitor'; + var mpointStr = JSON.stringify(mpoint); + if(!!window['external']&&window['external']['callWin']){ + window['external'].callWin(mpointStr); + }else{ + alert(JSON.stringify(mpointStr)); + } + } + }) + }else{ + if(window["console"]!=undefined){ + console.log("option of mpointMarker is null"); + console.log(mpointMarker); + } + } + + } window.moralMap = moralMap; })(jQuery, BMap, window); \ No newline at end of file -- Gitblit v1.8.0