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); }); } });