关于百度地图jsapi的getCurrentPosition定位不准确的解决⽅法百度地图官⽅获取当前位置降脂灵
var geolocation = new BMap.Geolocation();
if (Status() == BMAP_STATUS_SUCCESS) {
//位置经纬度
nowPointLng = r.point.lng;
nowPointLat = r.point.lat;
point = new BMap.Point(r.point.lng, r.point.lat);
......
} el {
alert('failed' + Status());
}
}, {
巴西龟吃什么食物
enableHighAccuracy: true
})
解决⽅法
使⽤H5的api获取GPS坐标,把得到的结果⽤百度的转换坐标的api去转换⼀下
代码
getLocation();
// H5获取当前位置
function getLocation(){
if (location){
我爱美丽
CurrentPosition(showPosition,showError);
微信支付怎么设置密码 }el{
alert("浏览器不⽀持地理定位。");
}
}
// 获取⽤户经纬度
function showPosition(position){
//GPS经纬度
let x = ds.latitude;
let y = ds.longitude;
var gpsPoint = new BMap.Point(y, x);
tTimeout(function(){
var convertor = new BMap.Convertor();
var pointArr = [];
pointArr.push(gpsPoint);
anslate(pointArr, 1, 5, translateCallback)
}, 1000);元宵佳节的诗句
}
// 将GPD经纬度转为百度地图经纬度
function translateCallback(data){
point = data.points[0];
nowPointLng = data.points[0].lng;
nowPointLat = data.points[0].lat;
initMap();
}
// 报错信息
function showError(error){
de) {
闯怎么读
ca error.PERMISSION_DENIED:
alert("定位失败,⽤户拒绝请求地理定位");
break;
ca error.POSITION_UNAVAILABLE:
alert("定位失败,位置信息是不可⽤");
break;
ca error.TIMEOUT:反的反义词
alert("定位失败,请求获取⽤户位置超时");
break;
ca error.UNKNOWN_ERROR:
整数分区 alert("定位失败,定位系统失效");
break;
}
}
注意事项
转换的⽅法不能⽴即执⾏需延迟加载