GPS坐标转换为百度坐标的原因:GPS在百度地图上显示有偏差,绘制的轨迹不能正确显示在百度路线上
var points = []; //要转换的点数组; var convertor = new BMap.Convertor(); var translatePoint = []; //中转数组 for (var j = 0; j < res.Data.length; j++) { var point = new BMap.Point(res.Data[j].Longitude, res.Data[j].Latitude); //你获取的GPS坐标 points.push(point); }; for (var i = 0; i < points.length; i += 10) //分组转换(百度坐标转换方法一次最多转10个坐标) { translatePoint.push(points.slice(i, i + 10)); // 从已有的数组中返回选定的元素,该方法并不会修改数组,而是返回一个子数组 } for (var i = 0; i < translatePoint.length; i++)
{ (function (index)
{ convertor.translate(translatePoint[index], 1, 5, function (data) { //坐标转换 if (data.status === 0) { var polyline = new BMap.Polyline(data.points, { strokeColor: "#18a45b", strokeWeight: 2, strokeOpacity: 0.5 }); //绘制轨迹 map.addOverlay(polyline); } }); })(i); }
百度api开发文档:http://lbs.baidu.com/index.php?title=webapi/guide/changeposition
原文:https://www.cnblogs.com/wgxmn/p/14302571.html