作者:是不是有谁代替我陪在你身旁 | 来源:互联网 | 2023-10-09 19:59
移动端浏览器使用Html5的geolocation对象可以方便的获取地址信息。这个geolocation对象根据手机提供的定位方式,(wifi定位,卫星定位,ip定位等等)自己选择
移动端浏览器使用 Html5的geolocation对象可以方便的获取地址信息。
这个geolocation对象根据手机提供的定位方式,(wifi定位,卫星定位,ip定位等等)自己选择最优的定位方式,获取位置参数。
参数包括经度,维度,地址名称。
接下来上代码。
在需要的页面中引入百度地图api:
在页面js中插入:
$(function () {
//(需要计算或者留存位置参数时)定义需要使用的参数
var currentCity = "";
var currentDistrict = "";
var currentLOngitude= "";
var currentAtitude = "";
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 = "";
//通过baiduMap 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.city + addComp.district + addComp.street + addComp.streetNumber;
currentLOngitude=lng;
currentAtitude =lat;
currentCity = addComp.city;
currentDistrict = addComp.district;
// alert("lOngitude=" + lng + "atitude=" + lat);
// alert("address=" + address);
});
}
/**用户定位失败**/
function getPositionError(error){
switch(error.code){
case error.TIMEOUT:
alert("连接超时,请重试!");
break;
case error.PERMISSION_DENIED:
alert("无法使用位置共享服务!");
break;
case error.POSITION_UNAVAILABLE:
alert("位置超出地球?");
break;
}
}
});
就是这么简单。