Html5结合百度地图获取当前位置

这里我使用的百度地图JavaScript1.4版

直接代码伺候:

<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
		<title>获取当前位置</title>
		<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
		<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.4"></script>
		<script type="text/javascript">
			$(document).ready(function() {
				$("button").click(function(event) {
					if(navigator.geolocation){
						navigator.geolocation.getCurrentPosition(
							function(p){
								var latitude=p.coords.latitude;//获取坐标点纬度
								var longitude=p.coords.longitude;//获取坐标点经度
								//以指定的经度与纬度创建一个坐标点
								var po=new BMap.Point(longitude,latitude);
								//创建一个地理解析器
								var geocoder=new BMap.Geocoder();
								//获取位置
								geocoder.getLocation(po,function(rs){
									//获取地理组件
									var addComp=rs.addressComponents;
									//获取省份
									var province=addComp.province;
									//获取城市
									var city=addComp.city;
									//获取区县
									var district=addComp.district;
									//获取街道
									var street=addComp.street;
									//获取街道号
									var streetNumber=addComp.streetNumber;
									$("p").append(province+city+district+street+streetNumber);//将获取到的信息输出到页面
								});
							},function(e){
								switch (e.code) {
									case e.TIMEOUT:
										alert("定位失败,请求获取用户位置超时");
										break;
									case e.PERMISSION_DENIED:
										alert("您拒绝了使用位置服务功能,查询已取消");
										break;
									case e.POSITION_UNAVAILABLE:
										alert("抱歉,暂时无法为您所在的星球提供位置服务");
										break;
									case e.UNKNOWN_ERROR:
										alert("发生一个位置错误");
										break;
								}
							},{
								//指示浏览器获取高精度的位置,默认false
								enableHighAcuracy: true,
								//指定获取地理位置的超时时间,默认不限时,单位为毫秒
								timeout:5000,
								//最长有效期,在重复获取地理位置时,此参数指定多久再次获取位置
								maximumAge:2000
							}
						);
					}else{
						alert("不支持");
					}
				});
			});
		</script>
	</head>
	<body>
		<button>获取</button>
		<p></p>
	</body>
</html>


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Vue3百度地图定位功能是基于Vue3框架结合百度地图API实现的定位功能。 首先,我们需要引入百度地图的JavaScript API,在Vue3的组件中使用百度地图的SDK进行地图的展示和定位功能的操作。可以通过在页面的头部引入百度地图的API脚本文件或者使用npm安装并在Vue项目中引入。 在Vue3的组件中,首先需要定义地图的容器,可以在组件的template中创建一个div元素作为地图的容器,通过给这个div元素设置id属性来获取到该元素: ```html <template> <div id="mapContainer"></div> </template> ``` 接下来,在组件的script部分,可以通过在mounted生命周期函数中进行地图的初始化和定位操作。在初始化地图的过程中,需要提供地图的容器元素以及使用的地图类型。在定位功能中,我们可以使用百度地图API提供的定位插件来进行定位操作。定位插件可以通过调用`new BMap.Geolocation()`进行初始化,然后调用`getCurrentPosition`方法进行定位,获取当前位置的经纬度信息。 ```javascript <script> export default { mounted() { // 初始化地图 const map = new BMap.Map('mapContainer'); const point = new BMap.Point(116.404, 39.915); // 初始化地图的中心点,这里使用北京市的经纬度 map.centerAndZoom(point, 15); // 设置地图的中心点和缩放级别 // 初始化定位插件 const geolocation = new BMap.Geolocation(); // 获取当前位置的经纬度信息 geolocation.getCurrentPosition(function(result){ if (this.getStatus() === BMAP_STATUS_SUCCESS) { const lng = result.point.lng; // 当前位置的经度 const lat = result.point.lat; // 当前位置的纬度 console.log('当前位置的经度:', lng); console.log('当前位置的纬度:', lat); } }); }, }; </script> ``` 通过以上的代码,我们可以在Vue3中使用百度地图API实现地图的展示和定位功能。在页面加载完成后,地图会显示出来,并且可以获取当前位置的经纬度信息。根据需要,还可以使用百度地图API提供的其他功能来进行地图的交互和定位操作的优化。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小老虎Love

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值