H5定位+腾讯地图逆地址解析 = 定位到区县

最近搞定位真是搞得心累,从百度到腾讯,最后还是用了H5。

不得不夸一下我们的后台工作人员,真的是一个人搞定~不过我也学到了好多~

emmmmmmmmm……

说正题,H5定位得用手机来测,电脑浏览器切换成手机模式都不可以。

(请把“KRYKRYKRYKRYKRYKRY^^^^^”换成自己的腾讯key)

直接来源码

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>H5定位</title>
	<style type="text/css">
		.map{
			width: 100%;
			height: 100%;
			background-color: #f00;
			color: #fff
		}
	</style>
	<script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&key=KRYKRYKRYKRYKRYKRY^^^^^&libraries=geometry,convertor"></script>
	<script type="text/javascript">
		 //H5定位
        var lat,lng = null;
        var map,geocoder,center = null;
        getLocation();
        function getLocation(){
              //判断是否支持 获取本地位置
              if (navigator.geolocation){
                navigator.geolocation.getCurrentPosition(showPosition);
              } else {
                x.innerHTML="浏览器不支持定位.";
              }
        }
        function showPosition(position){
            lat=position.coords.latitude; 
            lng=position.coords.longitude;
            //调用地图命名空间中的转换接口   type的可选值为 1:GPS经纬度,2:搜狗经纬度,3:百度经纬度,4:mapbar经纬度,5:google经纬度,6:搜狗墨卡托
            qq.maps.convertor.translate(new qq.maps.LatLng(lat,lng), 1, function(res){
                //取出经纬度并且赋值
                center = res[0];
                map = new qq.maps.Map(document.getElementById("container"),{
                      center:  center,
                      zoom: 12
                  });
                //逆地址解析
                geocoder = new qq.maps.Geocoder({
                      complete : function(result){
                        let district = result.detail.addressComponents.district;   //定位到区县
                        alert(district);  //弹出当前区县、
                        document.getElementById("dwTxt").value = district;
                      }
                });
                geocoder.getAddress(center);
          })
        }
	</script>
</head>
<body>
	<div class="map">
		<input id="dwTxt" type="text">
	</div>
</body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值