From 1975c595cea467a97bd3ac34571d5051405a12a7 Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Thu, 10 May 2018 09:27:05 +0800 Subject: [PATCH] 地图 相关修改 --- src/main/webapp/js/moralmap.js | 79 +++++++++++++++++++++++++++------------ 1 files changed, 55 insertions(+), 24 deletions(-) diff --git a/src/main/webapp/js/moralmap.js b/src/main/webapp/js/moralmap.js index 7dde6fd..e603e0a 100644 --- a/src/main/webapp/js/moralmap.js +++ b/src/main/webapp/js/moralmap.js @@ -208,11 +208,23 @@ } 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,15 +257,17 @@ } //������������ 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���������������������������������������"); @@ -264,17 +278,28 @@ 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(!!select&&select==='chart'){ + if(window['external']&&window['external']['showChartInfo']){ + window['external'].showChartInfo(equStr); + }else{ + alert(equStr); + } } - if(window['external']&&window['external']['showMonitorInfo']){ - window['external'].showMonitorInfo(equStr); - }else{ - alert(equStr); - } + else{ + if(window["console"]!=undefined){ + console.log(equStr); + } + if(window['external']&&window['external']['showMonitorInfo']){ + window['external'].showMonitorInfo(equStr); + }else{ + alert(equStr); + } + } } moralMap.setPopupEqus = function(arr) { moralMap["_equs"] = arr; @@ -350,7 +375,7 @@ break; case 4: state = 'state04'; - stateName = '������'; + stateName = '������'; break; } return { @@ -406,7 +431,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 +497,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 +513,7 @@ }) } //new BMap.Marker()������������IE7��������������������� - moralMap.MoralMarker.prototype = BMap.Marker.prototype; + moralMap.MoralMarker.prototype = new BMap.Marker(); //��������������� ������Mark������ moralMap.Monitorpoint = function(option) { var icon = {}; @@ -522,7 +552,9 @@ 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>"; @@ -530,16 +562,15 @@ } 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; -- Gitblit v1.8.0