hdw
2018-12-21 b5e4362e38b7947e5163be80f5d55a9fe46ef4a0
地图重新定位
4个文件已修改
249 ■■■■■ 已修改文件
gx_tieta/WebRoot/ex-battinfo.jsp 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/iframe/homeinfo.html 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/mobil/app/css/map.css 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/mobil/map.html 188 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/ex-battinfo.jsp
@@ -483,7 +483,7 @@
                            var resData = [];
                            if(rs.code == 1) {
                                var data = rs.data;
                                //console.log(data);
                                // console.log(data);
                                // 遍历数据的值
                                for(var i=0; i<data.length; i++) {
                                    var _data = data[i];
@@ -491,6 +491,8 @@
                                    resData.push(_tmp);
                                    Page.setAll(_data.apply_note);
                                }
                            }else {
                                Page.setAll(0);
                            }
                            pagePage.setVal();                // 设置分页信息
                            $('#applyNum').text(Page.all);     // 设置徽章
@@ -544,9 +546,12 @@
                                    resData.push(_tmp);
                                    acceptPage.setAll(_data.apply_note);
                                }
                                // console.log(resData);
                            }else {
                                acceptPage.setAll(0);
                            }
                            pagePage.setVal();                // 设置分页信息
                            $('#acceptNum').text(acceptPage.all);     // 设置徽章
                            $('#acceptNum').text(getAcceptHome(resData));     // 设置徽章
                            acceptOptions.data = resData;        // 设置表格的数据
                            
                            // 生成表格数据
@@ -588,6 +593,21 @@
                    
                    return temp;
                }
                // 获取待验收的机房
                function getAcceptHome(data) {
                    // 遍历data
                    var num = 0;
                    for(var i=0; i<data.length; i++) {
                        var _data = data[i];
                        // 判断是否被验收
                        if(!_data.check_en) {
                            num++;
                        }
                    }
                    return num;
                }
            });
        </script>
    </body>
gx_tieta/WebRoot/iframe/homeinfo.html
@@ -309,9 +309,10 @@
                            <div class="layui-form mrl8">
                                <div class="layui-form-item">
                                    <button type="button" class="layui-btn" id="test5"><i class="layui-icon"> </i>选择上传视频</button>
                                    <span style="color: #FF0000;">请上传有关机房的视频</span>
                                    <div class="layui-input-inline">
                                          <input type="text" name="title" autocomplete="off" placeholder="请输入视频名称" class="layui-input">
                                    </div>
                                    </div>
                                </div>
                            </div>
                            <div class="layui-upload">
@@ -349,6 +350,7 @@
                            <div class="layui-form mrl8">
                                <div class="layui-form-item">
                                    <button type="button" class="layui-btn" id="addImgs"><i class="layui-icon"> </i>选择上传图片</button>
                                    <span style="color: #FF0000;">请上传有关机房的图片</span>
                                </div>
                            </div>
                            <div class="layui-upload">
gx_tieta/WebRoot/mobil/app/css/map.css
@@ -113,4 +113,37 @@
}
.hdw-tbl td {
    padding: 4px 0 4px 8px;
}
/* temp-map */
.temp-map-container {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #FFFFFF;
    z-index: 99999;
}
.temp-map-container.temp-map-container-show {
    display: block;
}
.temp-map-container-rel {
    position: relative;
    width: 100%;
    height: 100%;
}
.temp-map-container-close {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 999;
    font-size: 20px;
}
.temp-map-container-close:hover {
    color: #FF0000;
}
.temp-map {
    width: 100%;
    height: 100%;
}
gx_tieta/WebRoot/mobil/map.html
@@ -88,6 +88,13 @@
            <div class="page-content abs abs-top40">
                <div class="rel-full">
                    <div id="map" class="full-height"></div>
                    <div id="tempMapContainer" class="temp-map-container">
                        <div class="temp-map-container-rel">
                            <div class="temp-map-container-close"><i class="fa fa-close"></i></div>
                            <div id="changeMapMarker" class="temp-map"></div>
                        </div>
                    </div>
                    <div id="mapSearch" class="map-search-container">
                        <div class="layui-form layui-form-pane" action="">
                            <div class="layui-form-item">
@@ -123,7 +130,17 @@
        map.disableDoubleClickZoom();
        // 给地图添加工具条(地图-卫星-三维)和比例尺控件
        map.addControl(new BMap.MapTypeControl({anchor: BMAP_ANCHOR_BOTTOM_RIGHT}));
        // 百度地图临时模块
        var tmpMap = new BMap.Map('changeMapMarker');
        var point = new BMap.Point(125.3192,43.8090);
        tmpMap.centerAndZoom(point, 11);    // 用城市名设置地图中心点
        tmpMap.enableScrollWheelZoom();
        tmpMap.disableDoubleClickZoom();
        // 给地图添加工具条(地图-卫星-三维)和比例尺控件
        tmpMap.addControl(new BMap.MapTypeControl({anchor: BMAP_ANCHOR_BOTTOM_RIGHT}));
        // 浏览器定位(前提是有网络和开启GPS权限)
        var geolocation = new BMap.Geolocation();
        
@@ -456,6 +473,7 @@
                                '<div class="t-align-right">'+
                                    '<a href="javascript:seenHomeInfo();" class="map-panel-seen-btn mrl8">查看</a>'+
                                    '<a href="javascript:editHomeInfo();" class="map-panel-seen-btn mrl8">修改</a>'+
                                    '<a href="javascript:showTempMap();" class="map-panel-seen-btn mrl8">重新定位</a>'+
                                    '<a href="javascript:delHomeInfo();" class="map-panel-seen-btn mrl8">删除</a>'+
                                '</div>'+
                                '<input type="hidden" class="ipt-hide lng" value="'+data.data.longitude+'">'+
@@ -519,6 +537,174 @@
            layer.msg('暂无权限删除!')
        }
        
        // 显示重新定位机房面板
        function showTempMap() {
            var lng = $('.ipt-hide.lng').val();                            // 获取经度
            var lat = $('.ipt-hide.lat').val();                            // 获取纬度
            var addr = $('.ipt-hide.addr').val();                        // 获取地址
            var homeId = $('.ipt-hide.sid').val();                        // 机房Id
            var homeName = $('.ipt-hide.home').val();                    // 机房名称
            console.log(lng+"***"+lat);
            var baiduPoint = GPS.wgs2bd(Number(lat), Number(lng));        // 将原始坐标转化为百度坐标
            console.log(baiduPoint);
            var temp = {
                homeId: homeId
                ,homeName: homeName
                ,addr: addr
                ,lng: lng
                ,lat: lat
            };
            tmpMap.clearOverlays();
               $('#tempMapContainer').addClass('temp-map-container-show');        // 显示面板
               //  坐标集合
               var points = [];
               // 旧机房的位置
            var oldPoint = new BMap.Point(baiduPoint.lon, baiduPoint.lat);
            points.push(oldPoint);
            var oldLabel = new BMap.Label("原始机房位置",{offset:new BMap.Size(20,-10)});
            var oldMk = new BMap.Marker(oldPoint);
            oldMk.disableDragging();        // 设置不可拖动
            tmpMap.addOverlay(oldMk);        // 将覆盖物添加到地图中
               oldMk.setLabel(oldLabel);        // 给覆盖物添加label提示
               // tmpMap.panTo(oldPoint);            // 定位到位置
               var load = layer.load(1);
            geolocation.getCurrentPosition(function(r){
                layer.close(load);
                   if(this.getStatus() == BMAP_STATUS_SUCCESS){
                       // 新机房的位置
                    points.push(r.point);
                       var mk = new BMap.Marker(r.point);
                       var label = new BMap.Label("新机房位置",{offset:new BMap.Size(20,-10)});
                       mk.enableDragging();        // 设置可拖动
                       tmpMap.addOverlay(mk);            // 将覆盖物添加到地图中
                       mk.setLabel(label);            // 给覆盖物添加label提示
                    // 将坐标定位到最新坐标
                    tmpMap.setViewport(points);        // 将地图移动到添加的点位置
                    // 给maker点绑定点击事件
                    mk.addEventListener('click', function(e) {
                        var target = e.target;
                        console.log(target);
                        showChangeMkPanle(target, homeId, homeName, addr);
                    });
                   }else {
                       layer.msg('定位失败,请检查GPS或网络!');
                   }
           });
        }
        // 显示修改面板
        function showChangeMkPanle(target, id, name, addr) {
            var searchInforWin = null;
            var pt = target.point;
            var opts = {
                title  : '设置站点位置',      //标题
                width  : 290,             //宽度
                height : 150,              //高度
                panel  : "panel",         //检索结果面板
                enableAutoPan : true,     //自动平移
                searchTypes   :[
                    // BMAPLIB_TAB_SEARCH,   //周边检索
                    // BMAPLIB_TAB_TO_HERE,  //到这里去
                    // BMAPLIB_TAB_FROM_HERE //从这里出发
                ]
            };
            var content = '<div class="add-panel">'+
                            '<div style="padding: 6px 4px"><span>地址:</span>'+
                            '<span class="addr">'+addr+'</span></div>'+
                            '<div style="padding: 6px 4px">经度:<span class="lng">'+pt.lng+'</span>,纬度:<span class="lat">'+pt.lat+'</span></div>'+
                            '<div style="padding: 6px 4px"><span>设置站点名:</span>'+'<span class="home-name">'+name+'</span></div>'+
                            '<input type="hidden" class="home-id" value="'+id+'">'+
                            '<div style="padding: 6px 4px; margin-top: 20px">'+
                            '<a href="javascript:replaceHomePoint();" class="map-panel-btn">确定</a></div>'
                        +'</div>';
            searchInforWin = new BMapLib.SearchInfoWindow(tmpMap, content, opts);
            searchInforWin.open(pt);
            $('.BMapLib_sendToPhone').hide();
        }
        // 替换最新位置
        function replaceHomePoint() {
            var addr = $('.add-panel .addr').text();
            var lng = $('.add-panel .lng').text();
            var lat = $('.add-panel .lat').text();
            var homeName = $('.add-panel .home-name').text();
            var homeId = $('.add-panel .home-id').val();
            var wgsPoint = GPS.bd2wgs(lat, lng);            // 百度地图坐标转化为GPS
            layer.confirm('是否确定重新定位', {icon:3, title: '提示'}, function(index) {
                layer.close(index);
                var temp = {
                    StationId: homeId,            //机房编号
                    StationName: homeName,        //机房名称
                    Address: addr,                //机房物理信息
                    longitude: wgsPoint.lon,    // 经度
                    latitude: wgsPoint.lat,        // 纬度
                    information:"",                //备注
                };
                // 请求后台
                var json = JSON.stringify(temp);
                //console.info(json);
                $.ajax({
                    type: "post",
                    url: "BattMap_informationAction!replace",
                    async:true,
                    dataType:'text',
                    data:"json="+json,
                    success: function(data){
                        data = eval('('+data+')');
                        var model = eval('('+data.result+')');
                        if(model.code == 1){
                            alert("修改成功");
                            $('#tempMapContainer').removeClass('temp-map-container-show');        // 隐藏面板
                            addNewMapMark(homeName, lng, lat);
                        }else{
                            alert("修改失败");
                        }
                    }
                });
            });
        }
        // 删除map的图标然后添加一个新的图标
        function addNewMapMark(name, lng, lat) {
            delMkByLabel(name);        // 删除mk点
            var pt = new BMap.Point(lng, lat);
            var mk = new BMap.Marker(pt);    // 定义marker点
            // 向mk点添加label
            var home_name = new BMap.Label(name, {offset:new BMap.Size(20,-10)});
            home_name.setStyle({display: 'none', padding: '4px 2px'});    // 设置不可见
            mk.setLabel(home_name);        // 设置label
            mk.addEventListener('click', function(e) {
                var target = e.target;
                //showMapPanel(target, dotList);
                searchPanelInfo(target.point);
            });
            map.addOverlay(mk);            // 添加覆盖物
            locationByHomeName(map, name);
        }
        // 关闭重新定位机房面板
        $('#tempMapContainer .temp-map-container-close').click(function() {
            $('#tempMapContainer').removeClass('temp-map-container-show');        // 关闭面板
        });
        // 查看机房信息
        function seenHomeInfo() {
            var lng = $('.ipt-hide.lng').val();                            // 获取经度