一. 首先要申请一个key
- 百度地图开放平台:http://lbsyun.baidu.com/
注册/登录->控制台->创建应用->获取key
ps:创建应用时注意应用类型和白名单哦~
二. 开发
<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.11&key=你的key"></script>
var geolocation = new BMap.Geolocation();
geolocation.getCurrentPosition(function(r){
if(this.getStatus() == BMAP_STATUS_SUCCESS){
// let mk = new BMap.Marker(r.point);
// map.addOverlay(mk);
// map.panTo(r.point);
//判断用户是否允许授权
// if (r.accuracy==null || r.accuracy=='null') {
// }else{
locale_region_name = r.address.city;
location_lat = r.point.lat;
location_lng = r.point.lng;
// }
// console.log('百度定位您的坐标:' + r.point.lng + ',' + r.point.lat);
// let wgs_84 = bdCoordinateConvertWGS84(r.point.lng, r.point.lat);
// console.log('百度转wgs-84坐标:' + wgs_84.lng + ',' + wgs_84.lat);
// location_lat = wgs_84.lat;
// location_lng = wgs_84.lng;
} else {
console.log('failed'+this.getStatus());
}
},{enableHighAccuracy: true})
要点1:使用http请求时,网页不提示地理位置授权,只能获取大概地理位置,误差很大(使用高德地图定位时会直接报错必须升级https)
要点2:当用户拒绝网站使用浏览器位置时,百度地图会通过其他方式获取大概位置,判断用户是否允许授权可根据accuracy来判断;等于null则用户拒绝授权