didiyu
2018-10-17 d8289e24b58b0764df52a1eb0b9c33ef60b8efa5
gx_tieta/WebRoot/index.jsp
@@ -29,6 +29,7 @@
   <script type="text/javascript" src="http://api.map.baidu.com/library/SearchInfoWindow/1.5/src/SearchInfoWindow_min.js"></script>
   <link rel="stylesheet" href="http://api.map.baidu.com/library/SearchInfoWindow/1.5/src/SearchInfoWindow_min.css" />
   <link href="css/basic.css" type="text/css" rel="stylesheet" />
   <link href="css/common.css" type="text/css" rel="stylesheet" />
   <link href="css/index_layout.css" type="text/css" rel="stylesheet" />
   <link rel="stylesheet" href="css/img-change.css">
   <link rel="stylesheet" href="css/confirm.css">
@@ -74,6 +75,12 @@
      .ui-resizable-s, .ui-resizable-se {
         display: none !important;
      }
      .ui-autocomplete {
         height: 200px;
         overflow-y: auto;
         overflow-x: hidden;
       }
   </style>
   <script type="text/javascript" src="js/jquery-1.8.3.js"></script>
   
@@ -92,9 +99,6 @@
      <div id="content">
         <div class="nav-map small">
            <!-- 电池分布图 -->
            <div class="side-bar abs">
               <div class="lside"></div>
            </div>
            <div class="china-map" id="map">
               <div class="img-change" style="display:none;">
                  <div class="img-list">
@@ -309,6 +313,7 @@
   <div class="clear"></div>
   <script type="text/javascript" src="pages/js/base.js"></script>
   <script type="text/javascript" src="pages/js/common.js"></script>
   <script type="text/javascript" src="pages/js/pages/siderbar.js"></script>
   <script type="text/javascript" src="js/panel.js"></script>
   <script type="text/javascript" src="js/search.js"></script>
   <script type="text/javascript" src="js/changePinYin.js"></script>
@@ -398,11 +403,6 @@
      $('#main .del-module').remove();   //移除class="del-module"的内容
      //根据饼状图的数量确定位置和大小
      getMapHt();
      $('.side-bar').resizable({
         minWidth: 190,
         maxWidth: 500
      });
      /* switch(pieLen){
         case 0:
            $('#main .china-map').remove();
@@ -603,7 +603,6 @@
               
               flushFourPie();      //更新四种饼状图
            });
            // 设置右键菜单
            var menu = new BMap.ContextMenu();
            var txtMenuItem = [
@@ -638,17 +637,7 @@
                        enparams:[e]
                     });
                  }
               },
               /* {
                  text: '机房定位',
                  callback: function(e) {
                     panel.setPanelLayout();
                     panel.showPanel();
                     $('#map .panel-mask').bind('click', function() {
                        panel.hidePanel();
                     });
                  }
               } */
               }
            ];
            //console.info(getPermit('taskchange_edit_permit', permits)+"*******");
            if(getPermit('batt_map_edit_permit', permits)) {
@@ -674,7 +663,7 @@
   
            createIconExplain($('#map'));
            
            searchAllProvince();   // 生成维护区列表
            //searchAllProvince();   // 生成维护区列表
            /* addCommonDotHome(commonDot);
            createWarnDot(map, warnDotList);
            dischargeTimeOut(map, dischargeDotList);
@@ -1350,15 +1339,6 @@
      });
   });
   
   //  点击地图的搜索按钮定位地址
   $(function() {
      $('#map').on('click', '.search .search-btn', function() {
         var posTxt = $('#map .search .pos-txt').val();
         addrAnalyze(posTxt);
      });
   });
   $(window).resize(function() {
      getMapHt();
   });
@@ -1604,10 +1584,9 @@
      // 遍历查询内容生成对应的图标
      for(var i = 0; i < dotList.length; i++) {
         var dotIcon = new BMap.Icon(getMapStateImg(mapImages, dotList[i].msg), new BMap.Size(36, 30));   // 设置图片
         var pt = new BMap.Point(dotList[i].lng, dotList[i].lat);
         
         var mk = new BMap.Marker(pt, {icon:dotIcon});   // 定义marker点
         var mk = new BMap.Marker(pt, {icon: dotIcon});   // 定义marker点
         addMenu(mk, mapDel);
         deletePoint(map, dotList[i].title);
         // 向mk点添加label
@@ -1632,6 +1611,11 @@
         map.addOverlay(mk);
      }
   }
   //
   
   // 删除地图上的指定点
   function deletePoint(map, msg){
@@ -1972,12 +1956,123 @@
      }
   }
   
   searchStation();
   // 设置页面中的可视区域图标
   ;(function($, window, document, gl, undefined) {
      // 设置命名空间
      gl.namespace('BMap');
      // 根据可视范围显示坐标点
      var dots = [];
      var currMarkers = {};
      // 查询当前范围内容的图标
      function queryInRect(map, callback) {
         var cp = map.getBounds(); // 返回map可视区域,以地理坐标表示
           var sw = cp.getSouthWest(); // 返回矩形区域的西南角
           var ne = cp.getNorthEast(); // 返回矩形区域的东北角
           //var zoom = map.getZoom(); //当前缩放级别
           //console.log(dots);
           var mapDots = getDotsList(sw, ne);
           callback(map, mapDots);
      }
      // 获取dots的集合
      function getDotsList(sw, ne) {
         var rs = [];
            swlng=sw.lng,
               swlat=sw.lat,
               nelng=ne.lng,
               nelat=ne.lat;
               var maxLng = sw.lng>ne.lng?sw.lng:ne.lng;
               var minLng = sw.lng<ne.lng?sw.lng:ne.lng;
               var maxLat = sw.lat>ne.lat?sw.lat:ne.lat;
               var minLat = sw.lat<ne.lat?sw.lat:ne.lat;
               for(var i=0; i<dots.length; i++) {
                  var dot = dots[i];
                  var lat = dot.lat;
                  var lng = dot.lng;
                  var sId = dot.binformation.StationId;
                  var isExist = checkMarker(sId);
                  // 未被添加过
                  if(!isExist) {
                     // 判断经纬度是否存在该区域
                     if(lng<maxLng && lng>minLng && lat<maxLat && lat>minLat) {
                        currMarkers['markers'+sId] = sId;
                        rs.push(dot);
                     }
                  }
               }
               return rs;
      }
      // 检测当前点是否已经被添加过
      function checkMarker(id) {
         var flag = false;
         // 遍历已经添加的点返回是否已经被添加过
         Object.keys(currMarkers).forEach(function(key) {
            if(currMarkers[key] == id) {
               flag = true;
            }
         });
         return flag;
      }
      // 设置dots集合的值
      function setDots(data) {
         dots = data;
      }
      // 将变量绑定到命名空间下
      gl.BMap.setDots = setDots;
      // 将函数绑定到命名空间下
      gl.BMap.queryInRect = queryInRect;
   })(jQuery, window, document, GLOBAL);
   // 地图机房搜索模块
   ;(function($, window, document, gl, undefined) {
      // 设置命名空间BMap.Search模块
      gl.namespace('BMap.Search');
      var homeInfor = [];
      // 设置homeInfor的值
      function setHomeInfor(data) {
         homeInfor = data;
      }
      // 将函数绑定到命名空间下
      gl.BMap.Search.setHomeInfor = setHomeInfor;
      // 根据homeInfor的值返回home列表
      function getHomeList() {
         var rs = [];
         // 遍历homeInfor的值
         for(var i=0; i<homeInfor.length; i++) {
            rs.push(homeInfor[i].title);
         }
         return rs;
      }
      // 将函数绑定到命名空间下
      gl.BMap.Search.getHomeList = getHomeList;
   })(jQuery, window, document, GLOBAL);
   // 查询并设置机房的图标
   $(function () {
      searchStation(true);
   });
   var allStation;
   //查询机房
   function searchStation(){
   function searchStation(setRect){
      var temp = createSearchParam();
      var json = JSON.stringify(temp);
      var bmap = GLOBAL.BMap;      // BMap的命名空间
      var bmap_s = bmap.Search;   // Search的命名空间
      commonDot = new Array();
      warnDotList = new Array();
      dischargeDotList = [];
@@ -1986,18 +2081,16 @@
           type: "post",             
           //url: "BattMap_informationAction!searchAll",            
           url: "BattMap_informationAction!searchUserManageStation",            
           async:true,
           async: true,
           dataType:'text',
           data:"json="+json,      
           success: function(data){ 
            data = eval('('+data+')');
            var list = eval('('+data.result+')');
            //console.info(list);
            console.log(list.length);
            allStation = new Array();
            if(list!=undefined && list.length>0){
               for(var i=0;i<list.length;i++){
                  //console.info("第"+i+"次:"+model.data[i].binformation.num);
                  //setAllStation(model.data[i],allStation);
                  var tmp = {
                     binformation:list[i].data,
                     alarm_num:list[i].code,      //告警数目
@@ -2007,32 +2100,18 @@
                  };
                  allStation.push(analyzeData(tmp));
               }
               //console.info(allStation);
               createMapDot(map, allStation);
               setTimeout(searchStation, 4000);
            }
            /* for(var i=0;i<allStation.length;i++){
               if(allStation[i].low_num>0){                     //落后数目
                  behindCellList.push(analyzeData(allStation[i]));
                  //console.info(analyzeData(allStation[i]));
               }else if(allStation[i].alarm_num>0){               //告警数目
                  warnDotList.push(analyzeData(allStation[i]));
               }else if(allStation[i].delay_num > 0){               //延时数目
                  dischargeDotList.push(analyzeData(allStation[i]));
               }else{
                  commonDot.push(analyzeData(allStation[i]));
               // 显示区域的图标
               bmap.setDots(allStation);
               bmap.queryInRect(map,createMapDot);
               // 是否设置拖到和缩放
               if(setRect) {
                  map.addEventListener("moveend", bmap.queryInRect.bind({},map, createMapDot));  // 拖动
                  map.addEventListener("zoomend", bmap.queryInRect.bind({},map, createMapDot)); // 缩放
               }
               //createMapDot(map, allStation);
            }
            // 清空覆盖物和对应的mk点
            map.clearOverlays();
            mkList = [];
            addCommonDotHome(commonDot);
            createWarnDot(map, warnDotList);
            dischargeTimeOut(map, dischargeDotList);
            behindDotCell(map, behindCellList); */
           }             
      });
   }
@@ -3068,5 +3147,13 @@
          img.attr('src', navImg);
       }
    }
    //  点击地图的搜索按钮定位地址
   $(function() {
      $('#map').on('click', '.search .search-btn', function() {
         var posTxt = $('#map .search .pos-txt').val();
         addrAnalyze(posTxt);
      });
   });
   </script> 
</html>