GPS坐标批量转换为百度坐标并绘制轨迹路线

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

 

posted @ 2021-01-20 14:06  五个小码农  阅读(689)  评论(0)    收藏  举报