hdw
2018-10-22 d599390fba9dbf6283a566227c3b12b8f549411e
更新地图的图标
1个文件已修改
121 ■■■■ 已修改文件
gx_tieta/WebRoot/index.jsp 121 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/index.jsp
@@ -1587,7 +1587,7 @@
            var pt = new BMap.Point(dotList[i].lng, dotList[i].lat);
            
            var mk = new BMap.Marker(pt, {icon: dotIcon});    // 定义marker点
            addMenu(mk, mapDel);
            // addMenu(mk, mapDel);
            deletePoint(map, dotList[i].title);
            // 向mk点添加label
            var home_name = new BMap.Label(dotList[i].title, {offset:new BMap.Size(20,-10)});
@@ -1602,20 +1602,15 @@
                this.getLabel().setStyle({display: 'none'});                    
            });
            
            mk.addEventListener('click', function(e) {
            /* mk.addEventListener('click', function(e) {
                var target = e.target;
                showMapPanel(target, dotList);
            });
            }); */
            mkList.push(mk);
            // 向地图添加覆盖物
            map.addOverlay(mk);
        }
    }
    //
    
    // 删除地图上的指定点
    function deletePoint(map, msg){
@@ -1737,6 +1732,7 @@
    
    function showMapPanel(target, warnList) {
        var point = target.point;
        console.log(target.getLabel());
        var searchInforWin = null;
        for(var i = 0; i < warnList.length; i++) {
            if(warnList[i].lng == point.lng && warnList[i].lat == point.lat) {
@@ -1992,7 +1988,7 @@
                    var dot = dots[i];
                    var lat = dot.lat;
                    var lng = dot.lng;
                    var sId = dot.binformation.StationId;
                    var sId = dot.sId;
                    var isExist = checkMarker(sId);
                    
                    // 未被添加过
@@ -2066,7 +2062,14 @@
    });
    
    
    var allStation;
    var allStation = [];
    var mapPages = {
        pageSize:2,                 // 每页的行数
        pageCurr:1,                  // 当前页码数
        pageAll:1,                    // 数目
        pageNum: 0,
        pageNew: true
    };
    //查询机房
    function searchStation(setRect){
        var temp = createSearchParam();
@@ -2086,36 +2089,106 @@
            data:"json="+json,        
            success: function(data){ 
                data = eval('('+data+')');
                var list = eval('('+data.result+')');
                console.log(list.length);
                // 获取结果集
                var rs = JSON.parse(data.result);
                var list = rs.data;
                // console.log(list);
                allStation = new Array();
                if(list!=undefined && list.length>0){
                    // 设置分页信息
                    mapPages.pageAll = list.length;
                    setMapPages();
                    console.info(mapPages);
                    // 遍历查询结果
                    for(var i=0;i<list.length;i++){
                        var tmp = {
                            binformation:list[i].data,
                            alarm_num:list[i].code,        //告警数目
                            low_num:list[i].sum,        //落后数目
                            delay_num:list[i].newsum,    //延时数目
                            msg: list[i].msg
                        };
                        allStation.push(analyzeData(tmp));
                        var _list = list[i];
                        allStation.push(formatAllStation(_list));
                    }
                    // 显示区域的图标
                    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)); // 缩放
                        updateStation();
                    }
                    //createMapDot(map, allStation);
                }
            }                 
        });
    }
    
    // 格式化查询结果
    function formatAllStation(list) {
        var obj = new Object();
        // 构造结果集
        obj.lng = list.longitude;
        obj.lat = list.latitude;
        obj.title = list.StationName;
        obj.sId = list.StationId;
        obj.fbsId = list.FBSDeviceId;
        obj.addr = list.Address;
        obj.msg = "";
        return obj;
    }
    // 设置分页的信息
    function setMapPages() {
        var pageNum = Math.ceil(mapPages.pageAll/mapPages.pageSize);
        mapPages.pageNum = pageNum;
    }
    // 轮询更新地图的点查询
    function updateStation() {
        var updateStationData = [];
        $.ajax({
            type: "post",
            url: "BattMap_informationAction!searchUserManageStation2",
            async: true,
            dataType:'json',
            data: "json="+JSON.stringify(mapPages),
            success: function(result) {
                var data = JSON.parse(result.result);
                for(var i=0; i<data.length; i++) {
                    var _data = data[i];
                    updateStationData.push(formatUpdateStation(_data));
                    // 判断是否更新
                }
                createMapDot(map, updateStationData);
                // 更新分页信息
                mapPages.pageCurr++;
                if(mapPages.pageCurr>mapPages.pageNum) {
                    mapPages.pageCurr=1;
                    mapPages.pageNew=false;
                }
                setTimeout(updateStation, 4000);
            }
        });
    }
    // 格式化查询结果
    function formatUpdateStation(list) {
        var obj = {};
        var data = list.data;
        // 构造结果集
        obj.lng = data.longitude;
        obj.lat = data.latitude;
        obj.title = data.StationName;
        obj.sId = data.StationId;
        obj.fbsId = data.FBSDeviceId;
        obj.addr = data.Address;
        obj.msg = list.msg;
        return obj;
    }
    // 更新所有机房
    function setAllStation(obj,allstation){
        //console.info(allstation);
        var flag = false;