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