vue3页面实现:
利用百度api的jsapi中的 BMap.Convertor()此方法通过计算取巧算出gps坐标误差非常小;
假设百度坐标:lng1:113.94620475687566 lat1:22.56028856475092
把这个坐标当成GPS坐标,通过接口获得他的百度坐标:lng2=113.95764483473,lat2=22.562997980443
通过计算就可以得到GPS的坐标:
var gpslng=2.0000003075964803*lng1-lng2; var gpslat=2.00000414376305204*lat1-lat2;计算得到的gps坐标 lng:113.93479972847284 lat:22.55767263354904
js:实现
var pointArr = []; var ggPoint = new BMap.Point(lng1,lat1);//lng1:113.94620475687566 lat1:22.56028856475092 pointArr.push(ggPoint); var convertor = new BMap.Convertor(); convertor.translate(pointArr, 1, 5, function (darse) { if(data.status === 0) { if (data.points && data.points.length>0) { for (let k = 0; k < data.points.length; k++) { var oldlnglat=pointArr[k]; var oldlng=oldlnglat.lng; var oldlat=oldlnglat.lat; var marker = data.points[k]; var lng=marker.lng; var lat=marker.lat; var gpslng=2.0000003075964803*oldlng-lng; var gpslat=2.00000414376305204*oldlat-lat; } } } }); 标签:pointArr,lat,坐标,var,lng,data,百度,gps From: https://www.cnblogs.com/fenxiangboke/p/18280155