一打开网页,弹出是否获取当前位置的窗口,同意立刻获取当前位置,不同意就不访问,求具体代码和操作步骤
发布网友
发布时间:2022-06-08 22:08
我来回答
共1个回答
热心网友
时间:2023-09-10 21:18
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.4"></script>
<script type="text/javascript">
/*************js实现*************/
$(document).ready(function(){
if(navigator.geolocation){
navigator.geolocation.getCurrentPosition(getPositionSuccess, getPositionError);
}else{
alert("您的浏览器不支持自动定位!");
}
});
/***用户定位成功**/
function getPositionSuccess(position){
var lat = position.coords.latitude;
var lng = position.coords.longitude;
var address;
//通过Map API获取街道名称
var map = new BMap.Map("allmap");
var point = new BMap.Point(lng,lat);
var gc = new BMap.Geocoder();
gc.getLocation(point, function(rs){
var addComp = rs.addressComponents;
address = addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber;
alert("address="+address);
});
alert("longitude="+lng+" latitude="+lat);
}
/**用户定位失败**/
function getPositionError(error){
switch(error.code){
case error.TIMEOUT:
alert("连接超时,请重试");
break;
case error.PERMISSION_DENIED:
alert("您拒绝了使用位置共享服务,查询已取消");
break;
case error.POSITION_UNAVAILABLE:
alert("亲爱的火星网友,非常抱歉,我们暂时无法为您所在的星球提供位置服务");
break;
}
}
</script>