hdw
2018-10-22 04e07fd0b31b3b18bc1ade663f9d8368940ecc4b
地图点击显示面板
1个文件已修改
113 ■■■■ 已修改文件
gx_tieta/WebRoot/index.jsp 113 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
            // 向mk点添加label
            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];
                }
            }
        }