百度地图API关于两点之间连接直线上的所有点

最近项目用到百度地图,由于司机错误使用导致上传的GPS点天少,两点之间的距离太长没有GPS点,现做了一个小算法来解决此问题(地图视为平面图形)代码如下。

//每1000米算作一个点

var pointA = new BMap.Point(ax,ay);  // 创建点坐标A--大渡口区
	var pointB = new BMap.Point(bx,by); 
  var d = (map.getDistance(pointA,pointB)).toFixed(2);
  var n =  Math.ceil(d/1000); 
  var dx = 1000*(bx - ax)/d;
  var dy = 1000*(by-ay)/d;
  alert(dx);
  var xc = dx + ax;
  var yc = dy + ay;
  for(var i=1;i<=n;i++){
  var xc = i*dx + ax;
  var yc = i*dy + ay;
     var new_point = new BMap.Point(xc,yc);
			var marker = new BMap.Marker(new_point);  // 创建标注
			map.addOverlay(marker);              // 将标注添加到地图中
			map.panTo(new_point);
			}

       

版权声明:本文为qq_38513068原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。