1、原先是通過百度地圖API getCurrentPosition來獲取坐標,然后再顯示出來。可是定位極其不准確。后突然想進來微信網頁正好有定位功能。
2、通過微信定位得出來的坐標是wgs84格式,需要轉換一下才能在百度地圖中顯示。
3、查找資料,找到相關辦法。鏈接
4、話不多說,上代碼
wx.getLocation({
type: 'wgs84', // 默認為wgs84的gps坐標,如果要返回直接給openLocation用的火星坐標,可傳入'gcj02'
success: function (res) {
var latitude = res.latitude; // 緯度,浮點數,范圍為90 ~ -90
var longitude = res.longitude; // 經度,浮點數,范圍為180 ~ -180。
var speed = res.speed; // 速度,以米/每秒計
var accuracy = res.accuracy; // 位置精度
let point = new BMap.Point(res.longitude, res.latitude)
// var mk = new BMap.Marker(point);
// map.addOverlay(mk);
// map.panTo(point);
const pointBak = new BMap.Point(point.lng, point.lat);
const convertor = new BMap.Convertor();
var lng=0;
var lat=0;
convertor.translate([pointBak], 1, 5, function(resPoint) {
console.log(resPoint);
if (resPoint && resPoint.points && resPoint.points.length > 0) {
lng = resPoint.points[0].lng;
lat = resPoint.points[0].lat;
}
const point = new BMap.Point(lng, lat);
that.center = point;
var mk = new BMap.Marker(point);
map.addOverlay(mk);
map.panTo(point);
});
}
});
