| | |
| | | <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">
|
| | |
| | | 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();
|
| | |
|
| | |
| | | '<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+'">'+
|
| | |
| | | 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(); // 获取经度
|