HTML实现百度地图定位功能

   通过百度地图api实现人员定位功能,采用前后端分离技术,定位手环定时发送经纬度值到服务器,前端通过接口定时刷新定位显示内容,实现人员定位功能。
   前端代码:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script type="text/javascript" src="//api.map.baidu.com/api?type=webgl&v=1.0&ak=你的ak"></script>
     <script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
	<title>根据经纬度定位</title>
    <style>
        html, body, #allmap{
            width: 100%;
            height: 100%;
            padding: 0;
            margin: 0;
            overflow: hidden;
        }
        #result{
            padding: 7px 10px;
            position: fixed;
            top: 10px;
            left: 20px;
            width: 550px;
            background: #fff;
            box-shadow: 0 2px 6px 0 rgba(27, 142, 236, 0.5);
            border-radius: 7px;
            z-index: 99;
        }
        #result input{
            width:130px; 
            margin-right:10px;
            height:25px;
            border: 1px solid rgba(27, 142, 236, 0.5);
            border-radius: 5px;
        }
        #result button{
            border: 1px solid rgba(27, 142, 236, 0.5);
            border-radius: 5px;
            background: rgba(27, 142, 236, 0.5);
            color: #fff
        }
		.BMap_bubble_title{
			font-size: 16px; 
		}
		.BMap_bubble_center{
			font-size: 14px;
			
		}
    </style>
</head>
<body>
    <div id='allmap'></div>
    <div id='result'>
        经度: <input id="lng" type="text"/>
        纬度: <input id="lat" type="text"/>
		<button onclick="theLocation()"/>查询</button>
		<button onclick="getLocation()"/>定位</button>
		<button onclick="clearMarker()"/>清除标记</button>
    </div>
    <script>
        // 百度地图API功能
        var map = new BMapGL.Map("allmap");
        map.centerAndZoom(new BMapGL.Point(116.404, 39.928), 15);
        map.enableScrollWheelZoom(true);
        
        // 用经纬度设置地图中心点
        function theLocation(){
			/*
            if(document.getElementById("lng").value != "" && document.getElementById("lat").value != ""){
                map.clearOverlays(); 
                var new_point = new BMapGL.Point(document.getElementById("lng").value,document.getElementById("lat").value);
                var marker = new BMapGL.Marker(new_point);  // 创建标注
                map.addOverlay(marker);              // 将标注添加到地图中
                map.panTo(new_point);      
            }
			*/
		   var lng=$("#lng").val();
		   var lat=$("#lat").val();
		    if(lng != "" && lat!= ""){
				setMarker(lng,lat);
				}

        }    
		  function getLocation(){
			  //获取当前电脑位置
			  var geolocation = new BMapGL.Geolocation();
			  geolocation.getCurrentPosition(function(r){
			  if(this.getStatus() == BMAP_STATUS_SUCCESS){
			  	$("#lng").val(r.point.lng);
			  	$("#lat").val(r.point.lat);
			    //alert('您的位置:'+r.point.lng+','+r.point.lat);
			  }
			  else {
			      alert('获取定位失败:'+this.getStatus());
			  }
			  });
		  }
		  function setMarker(lng,lat){
			  var point=new BMapGL.Point(lng, lat);
			  // 创建点标记
			  var marker = new BMapGL.Marker(point);
			  map.addOverlay(marker);
			  var opts = {
			  	    width : 200,     // 信息窗口宽度
			  	    height: 100,     // 信息窗口高度
			  	    title : "人员信息 32090001" , // 信息窗口标题
			  	    message:"刘雅文,心率正常,血氧浓度正常,手环状态<span style='color:red;'>异常</span>"
			  	}
			   var infoWindow = new BMapGL.InfoWindow(opts.message, opts);  // 创建信息窗口对象 
			    marker.addEventListener("click", function(){          
						map.openInfoWindow(infoWindow, point); //开启信息窗口
					});  
			   map.centerAndZoom(point, 15);
			  
		  } 
		  function clearMarker(){
			     map.clearOverlays(); 
		  }
		 
    </script>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值