百度地图定位

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="http://api.map.baidu.com/api?v=2.0&ak=BPr36B36O2I3dEumnp3TQ8AX"></script>
		<script>
			//判断浏览器是否支持定位
			if(navigator.geolocation){
				navigator.geolocation.getCurrentPosition(success,error);
			}else{
				alert("你的浏览器不支持地理定位");
			}
			//获取地理位置成功
			
//			success
//			成功得到位置信息时的回调函数,使用Position 对象作为唯一的参数。 
//			Position接口没有继承任何属性。
//			
//			Position.coords 
//			返回一个定义了当前位置的Coordinates 对象.
//			Position.timestamp 
//			返回一个时间戳DOMTimeStamp, 这个时间戳表示获取到的位置的时间
			function success(position){
				console.info(position.coords);
				var latitude = position.coords.latitude;//获取纬度
				var longitude=position.coords.longitude;//获取经度
				//显示百度地图
				var map=new BMap.Map("container");//创建地图实例
				var point = new BMap.Point(longitude,latitude);//创建坐标点
				map.centerAndZoom(point,15);//初始化地图,设置中心点坐标和地图级别
				map.enableScrollWheelZoom(true);//滚轮控制地图大小
				var marker = new BMap.Marker(point);
				map.addOverlay(marker);
				
				var gc = new BMap.Geocoder();
				gc.getLocation(point,function(rs){
					var addComp=rs.addressComponents;
					
					alert(addComp.province+","+addComp.city+","+addComp.district+","+addComp.street+","+addComp.streetNumber);
				});
			}
			//获取地理位置失败
			function error(error){
				console.error(error);
			}
		</script>
	</head>
	<body>
		
<div id="container" style='width:500px;height:500px;'></div>
</body></html>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script>
			window.οnlοad=function(){
				var btnOpsition=document.getElementById("getPosition");
				btnOpsition.οnclick=function(){
					if(navigator.geolocation){
						navigator.geolocation.watchPosition(success,onError,options);
					}else{
						alert("不支持获取当前位置");
					}
				}
				function success(position){
					let lat=position.coords.latitude;
					let lon=position.coords.longitude;
					alert("lat的纬度是"+lat+"lon的经度是"+lon);
				}
				function onError(err){
					switch(err.code){
						case 1:
							alert("位置服务被拒绝");
							break;
						case 2:
							alert("暂时获取不到位置信息");
							break;
						case 3:
				        	alert("获取信息超时");
				            break;
				        case 4:
				            alert("未知错误");
				            break;
					}
				}
				let options={
					enableHighAccuracy:true,//要求高精度的地理信息
					timeout:20000,//表示等待响应的最大时间,默认是0毫秒,表示无穷时间
					maximumAge:1000//最长有效期,在重复获取地理位置时,此参数指定多久再次获取位置
				}
			}
		</script>
	</head>	
	<body>
		<input type="button" value="获取" id="getPosition"/>
	</body>
</html>

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script src="http://api.map.baidu.com/api?v=2.0&ak=BPr36B36O2I3dEumnp3TQ8AX"></script>
		<script>
			window.οnlοad=function(){
				if(navigator.geolocation){
					var options={
						enableHighAccuracy:true,
						timeout:5000,
						maximumAge:0
					}
					navigator.geolocation.getCurrentPosition(success,onError,options);
					function success(results){
						var lag=results.coords.latitude;
						var lng=results.coords.longitude;
						
						var map=new BMap.Map("container");
						var point=new BMap.Point(lng,lag);
						
						map.centerAndZoom(point,15);
						map.enableScrollWheelZoom(true);//滚轮控制地图大小
						
						var marker=new BMap.Marker(point);
						map.addOverlay(marker);
						var gc =new BMap.Geocoder();
						gc.getLocation(point,function(rs){
							var addComp = rs.addressComponents;
							 alert(addComp.province + ", " + addComp.city + ", "+ addComp.district + ", " + addComp.street + ", "+ addComp.streetNumber);
						});
						console.log("纬度"+results.coords.latitude+"经度"+results.coords.longitude);
					}
					function onError(err){
						console.log("失败");
						console.log(err);
					}
				}
				else{
					//不支持
					alert("该浏览器不支持该geolocation");
				}
			}
		</script>
	</head>
	<body>
		<div id="container" style="width:500px;height: 500px;" ></div>
	</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值