<!DOCTYPE html>
|
<html lang="en">
|
<head>
|
<meta charset="UTF-8">
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no">
|
<title>机房定位</title>
|
<link rel="stylesheet" href="mobilCss/jquery.mobile-1.4.5.min.css"/>
|
<link rel="stylesheet" href="http://api.map.baidu.com/library/SearchInfoWindow/1.5/src/SearchInfoWindow_min.css" />
|
<script type="text/javascript" src="mobilJs/jquery-1.8.2.js"></script>
|
<script type="text/javascript" src="mobilJs/jquery.mobile-1.4.5.min.js"></script>
|
<!-- 导入百度地图API -->
|
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=QAerSFEiGDCx1oHPB7Z5XYcBHI6R3qwx"></script>
|
<script type="text/javascript" src="http://api.map.baidu.com/library/SearchInfoWindow/1.5/src/SearchInfoWindow_min.js"></script>
|
<style type="text/css">
|
/* 清除浮动 */
|
.huo-add-fieldset:before, .huo-add-fieldset:after,
|
.btn-contain:before, .btn-contain:after {
|
display: table;
|
content: " ";
|
}
|
.huo-add-fieldset:after,
|
.btn-contain:after {
|
clear: both;
|
}
|
|
.huo-add-fieldset {
|
overflow-y: scroll;
|
}
|
#map .explain-header:hover {
|
cursor: pointer;
|
background-color: #84ABFA !important;
|
color: #D6D1D1
|
}
|
.map-panel-btn {
|
/*初始化按钮*/
|
font-size: 12px;
|
text-decoration: none!important;
|
font-family: Helvetica, Arial, sans serif;
|
padding: 4px 12px;
|
border-radius: 3px;
|
-moz-border-radius: 3px;
|
box-shadow: inset 0px 0px 2px #fff;
|
-o-box-shadow: inset 0px 0px 2px #fff;
|
-webkit-box-shadow: inset 0px 0px 2px #fff;
|
-moz-box-shadow: inset 0px 0px 2px #fff;
|
/*定义颜色和样式*/
|
color: #41788c;
|
border: 1px solid #6fb1c7;
|
background-image: -moz-linear-gradient(#aae5f7, #73d0f1);
|
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#73d0f1), to(#aae5f7));
|
background-image: -webkit-linear-gradient(#aae5f7, #73d0f1);
|
background-image: -o-linear-gradient(#aae5f7, #73d0f1);
|
text-shadow: 1px 1px 1px #bfeafb;
|
background-color: #73d0f1;
|
/* 定义位置 */
|
margin-left: 200px;
|
}
|
.map-panel-btn:hover {
|
border: 1px solid #4690ad;
|
background-image: -moz-linear-gradient(#73d0f1, #aae5f7);
|
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#aae5f7), to(#73d0f1));
|
background-image: -webkit-linear-gradient(#73d0f1, #aae5f7);
|
background-image: -o-linear-gradient(#73d0f1, #aae5f7);
|
background-color: #aae5f7;
|
}
|
</style>
|
</head>
|
<body>
|
<div data-role="page">
|
|
|
<div data-role="header">
|
<a href="index.html" class="ui-btn ui-corner-all ui-shadow ui-icon-back ui-btn-icon-left" target="_top" style="padding-top:0.7em;padding-bottom:0.7em;">返回</a>
|
<h1>机房定位</h1>
|
<!-- <a href="#myPanel" class="ui-btn ui-corner-all ui-shadow ui-icon-bullets ui-btn-icon-left" target="_top" style="padding-top:0.7em;padding-bottom:0.7em;">筛选</a> -->
|
</div>
|
<div data-role="main">
|
<div id="main"></div>
|
<div data-role="popup" id="myPopup" class="ui-content" data-dismissible="false">
|
<a href="#" data-rel="back" class="ui-btn ui-corner-all ui-shadow ui-btn ui-icon-delete ui-btn-icon-notext ui-btn-right">关闭</a>
|
<p>1.请点击地图左下角的定位<img style="vertical-align: middle; margin-left:10px;" src="image/map-pos.gif" alt="定位图标"></p>
|
<p>2.在点击地图左下角的定位之前确认打开GPS定位</p>
|
<p>3.请不要使用qq内置浏览器</p>
|
</div>
|
</div>
|
<script type="text/javascript">
|
$(document).on('pageinit', function() {
|
setTimeout(function() {
|
initPage();
|
$('#myPopup').popup('open'); // 显示提示信息
|
}, 1500);
|
});
|
var map; // 将地图对象存储为全局变量
|
|
$(document).ready(function() {
|
initPage();
|
// 当横屏和竖屏切换时更改面板的高度
|
$(window).on("orientationchange",function(){
|
setTimeout(function() {
|
initPage();
|
}, 200);
|
});
|
// 生成地图
|
map = new BMap.Map('main');
|
var point = new BMap.Point(116.404, 39.915);
|
map.centerAndZoom(point, 18);
|
map.enableScrollWheelZoom(true);
|
// var marker = new BMap.Marker(point); // 创建标记
|
// map.addOverlay(marker); // 将标记添加到地图
|
var menu = new BMap.ContextMenu();
|
var txtMenuItem = [
|
{
|
text: '添加',
|
callback: function(e) {
|
addOverlayByPos(e);
|
}
|
}
|
];
|
for(var i=0; i < txtMenuItem.length; i++){
|
menu.addItem(new BMap.MenuItem(txtMenuItem[i].text,txtMenuItem[i].callback,100));
|
}
|
map.addContextMenu(menu);
|
|
// var label = new BMap.Label('天安门', {offset:new BMap.Size(20,-10)});
|
// marker.setLabel(label);
|
|
// 添加定位控件
|
var geolocationControl = new BMap.GeolocationControl();
|
geolocationControl.addEventListener("locationSuccess", function(e){
|
// 定位成功事件
|
map.clearOverlays();
|
var peopleIcon = new BMap.Icon('image/small-yellow-people.png', new BMap.Size(20, 30));
|
var mk = new BMap.Marker(e.point,{icon:peopleIcon});
|
|
mk.addEventListener('click', function(e) {
|
var target = e.target;
|
showAddMapPanel(target);
|
});
|
mk.setTop(true);
|
mk.enableDragging(true);
|
map.addOverlay(mk); // 添加覆盖物
|
map.setZoom(18);
|
});
|
map.addControl(geolocationControl);
|
|
});
|
|
// 初始化页面高度
|
function initPage() {
|
var winHt = $.mobile.getScreenHeight();
|
$('#main').height(winHt - 48);
|
}
|
|
// 添加增加机房的面板
|
function showAddMapPanel(target) {
|
var geoc = new BMap.Geocoder();
|
var searchInforWin = null;
|
var pt = target.point;
|
|
var opts = {
|
title : '设置站点位置', //标题
|
width : 290, //宽度
|
height : 140, //高度
|
panel : "panel", //检索结果面板
|
enableAutoPan : true, //自动平移
|
searchTypes :[
|
// BMAPLIB_TAB_SEARCH, //周边检索
|
// BMAPLIB_TAB_TO_HERE, //到这里去
|
// BMAPLIB_TAB_FROM_HERE //从这里出发
|
]
|
};
|
geoc.getLocation(pt, function(rs){
|
var addComp = rs.addressComponents;
|
$.ajax({
|
type: "post",
|
url: "BattMap_informationAction!serchNotInBattMap",
|
async:true,
|
dataType:'text',
|
data:null,
|
success: function(data){
|
//console.info(data);
|
data = eval('('+data+')');
|
var model = eval('('+data.result+')');
|
//console.info(model);
|
var options = "";
|
if(model.code == 1){
|
for(var i=0;i<model.data.length;i++){
|
options+= '<option value="'+model.data[i].StationId+'">'+model.data[i].StationName+'</option>';
|
}
|
}else{
|
options = "<option value='0'>暂无可设站点</option>";
|
}
|
|
var content = '<div class="add-panel">'+
|
'<div style="padding: 6px 4px"><span>地址:</span>'+
|
'<span class="addr">'+addComp.province+'-'+addComp.city+'-'+addComp.district+'-'+addComp.street+'</span></div>'+
|
'<div style="padding: 6px 4px">经度:<span class="lng">'+rs.point.lng+'</span>,纬度:<span class="lat">'+rs.point.lat+'</span></div>'+
|
'<div style="padding: 6px 4px"><span>设置站点名:</span>'+'<select style="border: 1px solid #ccc; width: 180px">'+options+'</select></div>'+
|
'<div style="padding: 6px 4px; margin-top: 20px">'+
|
'<a href="javascript:getAddHomeInfo();" class="map-panel-btn">确定</a></div>'
|
+'</div>';
|
|
searchInforWin = new BMapLib.SearchInfoWindow(map, content, opts);
|
|
searchInforWin.open(rs.point);
|
$('.BMapLib_sendToPhone').hide();
|
}
|
});
|
|
|
// alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber);
|
});
|
}
|
|
// 获取添加机房的机房信息
|
function getAddHomeInfo() {
|
var lng = $('.add-panel .lng').text(); // 获取经度
|
var lat = $('.add-panel .lat').text(); // 获取纬度
|
var addr = $('.add-panel .addr').text(); // 获取地址
|
var homeId = $('.add-panel select option:selected').val(); // 机房Id
|
var homeName = $('.add-panel select option:selected').text(); // 机房名称
|
|
if(homeId !=0 && confirm("确认将"+homeName+"机房设置到该位置吗?")){
|
var temp = {
|
StationId:homeId, //机房编号
|
StationName:homeName, //机房名称
|
Address:addr, //机房物理信息
|
longitude:lng, // 经度
|
latitude:lat, // 纬度
|
information:"", //备注
|
};
|
var json = JSON.stringify(temp);
|
console.info(json);
|
$.ajax({
|
type: "post",
|
url: "BattMap_informationAction!add",
|
async:true,
|
dataType:'text',
|
data:"json="+json,
|
success: function(data){
|
data = eval('('+data+')');
|
var model = eval('('+data.result+')');
|
if(model.code == 1){
|
map.clearOverlays();
|
alert("设置成功");
|
}else{
|
alert("设置失败");
|
}
|
}
|
}).error(function(){
|
alert("设置失败");
|
});
|
}
|
}
|
|
// 生成下拉框的字符串
|
function createOptStr(optList) {
|
var optStr = '';
|
// 遍历optList生成关于option的字符串
|
for(var i = 0; i < optList.length; i++) {
|
optStr = optStr + '<option value="'+optList[i].val+'">'+optList[i].txt+'</option>';
|
}
|
|
return optStr;
|
}
|
</script>
|
</div>
|
</body>
|
</html>
|