html5 获取 坐标 ios,HTML5 安卓|苹果浏览器获取经度和纬度(百度API)

有时候需要用户注册时所处的地理位置信息,所以H5获取地图经纬度及地址信息也是不少开发者会遇到的,当然通过微信或小程序内置的功能就不存在这个问题了 由于H5自带的navigator.geolocation在IOS下获取位置失效,通过百度API获取用户位置信息可以解决这一个问题 调用百度地图BMap Geolocation获取对应的经度和纬度进而获取地区信息

有时候需要用户注册时所处的地理位置信息,所以H5获取地图经纬度及地址信息也是不少开发者会遇到的,当然通过微信或小程序内置的功能就不存在这个问题了

由于H5自带的navigator.geolocation在IOS下获取位置失效,通过百度API获取用户位置信息可以解决这一个问题调用百度地图BMap Geolocation获取对应的经度和纬度进而获取地区信息,优点是比较准确,缺点是需要用户确认

当然通过IP也可以获取到,不过就看你是否对精确度有要求了

// 百度地图API功能

var map = new BMap.Map("allmap");

var point = new BMap.Point(108.95,34.27);

map.centerAndZoom(point,12);

var geolocation = new BMap.Geolocation();

geolocation.getCurrentPosition(function(r){console.log(r.point)

if(this.getStatus() == BMAP_STATUS_SUCCESS){

var mk = new BMap.Marker(r.point);

map.addOverlay(mk);//标出所在地

map.panTo(r.point);//地图中心移动

var point = new BMap.Point(r.point.lng,r.point.lat);//用所定位的经纬度查找所在地省市街道等信息

var gc = new BMap.Geocoder();

gc.getLocation(point, function(rs){

/* var addComp = rs.addressComponents;

console.log(rs.address);//地址信息*/

console.log(r.point.lng);

console.log(r.point.lat);

console.log(rs.address);

});

}else {

alert('暂时获取不到位置信息'+this.getStatus());

}

},{enableHighAccuracy: true})

把代码放到服务器,直接访问就可以看到效果了哦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值