| 修改日期 | 修改人 | 备注 |
| 2021-01-19 11:41:10[当前版本] | 陈婉 | 1.2 |
| 2021-01-19 11:40:34 | 陈婉 | 1.1 |
| 2021-01-19 11:39:47 | 陈婉 | 1.0 |
var geolocation = new BMap.Geolocation();
geolocation.getCurrentPosition(function(r) {
if (this.getStatus() == BMAP_STATUS_SUCCESS) {
//位置经纬度
nowPointLng = r.point.lng;
nowPointLat = r.point.lat;
point = new BMap.Point(r.point.lng, r.point.lat);
......
} else {
alert('failed' + this.getStatus());
}
}, {
enableHighAccuracy: true
})
使用H5的api获取GPS坐标,把得到的结果用百度的转换坐标的api去转换一下
getLocation();
// H5获取当前位置
function getLocation(){
if (navigator.geolocation){
navigator.geolocation.getCurrentPosition(showPosition,showError);
}else{
alert("浏览器不支持地理定位。");
}
}
// 获取用户经纬度
function showPosition(position){
//GPS经纬度
let x = position.coords.latitude;
let y = position.coords.longitude;
var gpsPoint = new BMap.Point(y, x);
setTimeout(function(){
var convertor = new BMap.Convertor();
var pointArr = [];
pointArr.push(gpsPoint);
convertor.translate(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){
switch(error.code) {
case error.PERMISSION_DENIED:
alert("定位失败,用户拒绝请求地理定位");
break;
case error.POSITION_UNAVAILABLE:
alert("定位失败,位置信息是不可用");
break;
case error.TIMEOUT:
alert("定位失败,请求获取用户位置超时");
break;
case error.UNKNOWN_ERROR:
alert("定位失败,定位系统失效");
break;
}
}
转换的方法不能立即执行需延迟加载