From 04e07fd0b31b3b18bc1ade663f9d8368940ecc4b Mon Sep 17 00:00:00 2001 From: hdw <496960745@qq.com> Date: 星期一, 22 十月 2018 14:59:17 +0800 Subject: [PATCH] 地图点击显示面板 --- gx_tieta/WebRoot/index.jsp | 113 ++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 96 insertions(+), 17 deletions(-) diff --git a/gx_tieta/WebRoot/index.jsp b/gx_tieta/WebRoot/index.jsp index 2ed62dc..fce6f09 100644 --- a/gx_tieta/WebRoot/index.jsp +++ b/gx_tieta/WebRoot/index.jsp @@ -1587,8 +1587,13 @@ var pt = new BMap.Point(dotList[i].lng, dotList[i].lat); var mk = new BMap.Marker(pt, {icon: dotIcon}); // 瀹氫箟marker鐐� - // addMenu(mk, mapDel); + + // 鍒犻櫎鎸囧畾鐨勭偣(璇ョ偣浼氬湪鏈嚱鏁板悗闈㈤噸鏂板垱寤�) deletePoint(map, dotList[i].title); + + // 缁欑偣鍙抽敭鑿滃崟娣诲姞鍒犻櫎鎸夐挳 + addMenu(mk, mapDel); + // 鍚憁k鐐规坊鍔爈abel var home_name = new BMap.Label(dotList[i].title, {offset:new BMap.Size(20,-10)}); home_name.setStyle({display: 'none', padding: '4px 2px'}); @@ -1602,10 +1607,11 @@ this.getLabel().setStyle({display: 'none'}); }); - /* mk.addEventListener('click', function(e) { + mk.addEventListener('click', function(e) { var target = e.target; - showMapPanel(target, dotList); - }); */ + //showMapPanel(target, dotList); + searchPanelInfo(target); + }); mkList.push(mk); // 鍚戝湴鍥炬坊鍔犺鐩栫墿 map.addOverlay(mk); @@ -1762,7 +1768,6 @@ function showMapPanelByPoint(point, dataList) { var searchInforWin = null; var opts = { - //title : warnList[i].title+'<a href="javascript:loadToHomeInfo();" style="margin-left: 1em;text-decoration:none">璇︽儏>></a>', //鏍囬 title : dataList.title+'<a href="javascript:loadToHomeInfo();" style="margin-left: 1em;text-decoration:none;cursor:not-allowed">璇︽儏>></a>', //鏍囬鏈紑鍚� width : '290', //瀹藉害 height : 140, //楂樺害 @@ -2021,8 +2026,22 @@ function setDots(data) { dots = data; } + // 灏嗗彉閲忕粦瀹氬埌鍛藉悕绌洪棿涓� gl.BMap.setDots = setDots; + + // 鏇存柊dots闆嗗悎鐨勬暟鎹� + function updateDots(data) { + for(var i=0; i<dots.length; i++) { + var _dots = dots[i]; + if(_dots.sId == data.sId) { + _dots.msg = data.msg; + } + } + } + + // 灏嗗彉閲忕粦瀹氬埌鍛藉悕绌洪棿涓� + gl.BMap.updateDots = updateDots; // 灏嗗嚱鏁扮粦瀹氬埌鍛藉悕绌洪棿涓� gl.BMap.queryInRect = queryInRect; @@ -2064,7 +2083,7 @@ var allStation = []; var mapPages = { - pageSize:2, // 姣忛〉鐨勮鏁� + pageSize:100, // 姣忛〉鐨勮鏁� pageCurr:1, // 褰撳墠椤电爜鏁� pageAll:1, // 鏁扮洰 pageNum: 0, @@ -2098,7 +2117,7 @@ // 璁剧疆鍒嗛〉淇℃伅 mapPages.pageAll = list.length; setMapPages(); - console.info(mapPages); + // 閬嶅巻鏌ヨ缁撴灉 for(var i=0;i<list.length;i++){ var _list = list[i]; @@ -2107,7 +2126,7 @@ // 鏄剧ず鍖哄煙鐨勫浘鏍� bmap.setDots(allStation); - bmap.queryInRect(map,createMapDot); + bmap.queryInRect(map, createMapDot); // 鏄惁绗竴娆℃墽琛� if(setRect) { map.addEventListener("moveend", bmap.queryInRect.bind({},map, createMapDot)); // 鎷栧姩 @@ -2130,6 +2149,7 @@ obj.fbsId = list.FBSDeviceId; obj.addr = list.Address; obj.msg = ""; + obj.num = list.num; return obj; } @@ -2137,10 +2157,12 @@ function setMapPages() { var pageNum = Math.ceil(mapPages.pageAll/mapPages.pageSize); mapPages.pageNum = pageNum; + mapPages.pageNew= true; } // 杞鏇存柊鍦板浘鐨勭偣鏌ヨ function updateStation() { + var bmap = GLOBAL.BMap; // BMap鐨勫懡鍚嶇┖闂� var updateStationData = []; $.ajax({ type: "post", @@ -2152,9 +2174,13 @@ var data = JSON.parse(result.result); for(var i=0; i<data.length; i++) { var _data = data[i]; - updateStationData.push(formatUpdateStation(_data)); - + var _list = formatUpdateStation(_data); + updateStationData.push(_list); + //_list.msg = 'item-nuclear_cap'; // 鍒ゆ柇鏄惁鏇存柊 + if(mapPages.pageNew) { + bmap.updateDots(_list); + } } createMapDot(map, updateStationData); @@ -2183,17 +2209,71 @@ obj.fbsId = data.FBSDeviceId; obj.addr = data.Address; obj.msg = list.msg; + obj.num = list.num; return obj; } - // 鏇存柊鎵�鏈夋満鎴� + // 鏌ヨ鏈烘埧闈㈡澘淇℃伅 + function searchPanelInfo(data) { + var point = data.point; + var stationInfo = getStaionByPoint(point); + if(!stationInfo) { + alert('闈㈡澘淇℃伅鏌ヨ澶辫触锛�'); + return; + } + + var temp = { + StationId: stationInfo.sId + }; + // 鏌ヨ闈㈡澘淇℃伅 + $.ajax({ + type: 'post', + async: true, + url: 'BattMap_informationAction!searchUserManageStation3', + data: 'json='+JSON.stringify(temp), + dataType: 'json', + success: function(result) { + var rs = JSON.parse(result.result); + if(rs.length != 0) { + var data = rs[0]; + var content = '<div style="padding:6px;"><span>钃勭數姹犵粍鍛婅鏁扮洰锛�</span>'+data.code+'<a style="margin-left: 14px" href="javascript:loadToWarnPage();">璇︽儏>></a></div>'+ + '<div style="padding:6px;"><span>钃勭數姹犵粍钀藉悗鏁扮洰锛�</span>'+data.sum+'<a style="margin-left: 14px" href="javascript:loadToBehindPage();">璇︽儏>></a></div>'+ + '<div style="padding:6px;"><span>钃勭數姹犵粍寤舵椂鏁扮洰锛�</span>'+data.newsum+'<a style="margin-left: 14px" href="javascript:loadToDischargeDelay();">璇︽儏>></a></div>'+ + '<div style="padding:6px"><a href="javascript:loadToRealTime();">瀹炴椂鏁版嵁</a><a style="margin-left: 20px" href="javascript:loadToOldTime();">鍘嗗彶鏁版嵁</a></div>'+ + '<div style="padding:6px;"><span>鍦板潃锛�</span>'+data.data.Address+'</div>'+ + '<input type="hidden" class="ipt-hide" value="'+data.data.BattGroupId+'">'+ + '<input type="hidden" class="ipt-hide" value="'+data.data.StationId+'">'; + + var list = { + title: data.data.StationName, + content: content + }; + + showMapPanelByPoint(point, list); + } + + } + }); + } + // 鏍规嵁缁忕含搴﹁幏鍙栨満鎴跨殑淇℃伅 + function getStaionByPoint(point) { + var stationInfo = false; + // 閬嶅巻鎵�鏈夋満鎴� + for(var i=0; i<allStation.length; i++) { + var info = allStation[i]; + if(info.lng == point.lng && info.lat == point.lat) { + stationInfo = info; + } + } + return stationInfo; + } function setAllStation(obj,allstation){ //console.info(allstation); var flag = false; var index = 0; - for(var i = 0;i < allstation.length;i++){ + for(var i = 0;i < allStation.length;i++){ //console.info(obj.binformation.num + "==" + allstation[i].binformation.num); if(obj.binformation.num == allstation[i].binformation.num){ flag = true; @@ -2443,11 +2523,10 @@ text: '鍒犻櫎', callback: function(e) { //console.info(allStation); - console.info(mk); + console.info(allStation); var temp = getStationMap(allStation, mk.point); - if(confirm("纭浠庡湴鍥句笂鍒犻櫎'"+temp.StationName+"'鐨勪綅缃俊鎭悧锛�")){ + if(confirm("纭浠庡湴鍥句笂鍒犻櫎'"+temp.title+"'鐨勪綅缃俊鎭悧锛�")){ if(temp != undefined){ - //console.info(temp); var json = JSON.stringify(temp); $.ajax({ type: "post", @@ -2489,8 +2568,8 @@ function getStationMap(list,localposi){ if(list != undefined){ for(var i = 0 ; i < list.length ; i++){ - if(list[i].binformation.latitude == localposi.lat && list[i].binformation.longitude == localposi.lng){ - return list[i].binformation; + if(list[i].lat == localposi.lat && list[i].lng == localposi.lng){ + return list[i]; } } } -- Gitblit v1.9.1