1.使用百度地图API制作轨迹播放;
可应用于车辆跟踪、行驶线路回放、跑步行程的记录等地图应用场景,
1.1绘制静态轨迹图
获取多个轨迹点point(必须包含经度、纬度)
使用polyline对象依次连接相邻的2个点(注意polyline的个数比point的少1)
1.2绘制动态轨迹图(固定间隔时间)
每隔500毫秒读取一个轨迹点,实现a,b两个功能
a增加一条polyline
b将marker从先前的point移到当前点
主方法使用setTimeout方法迭代来实现动态循环
Polyline在每条迭代循环体中添加即可,marker的移动则可以通过2中方法来实现:
一、使用removeOverlay除去原marker并在当前point处添加新marker
这是当时做项目时想到的方法,由于先前绘制polyline时使用addOverlay的思维惯性,在绘制marker时也就继续使用了addOverlay做循环迭代。
window.run = function (){
var pts ={?????}//你获取到的一系列点的数组(通过gps或其他接口)
var paths = pts.length; //获得有几个点
var carMk = new BMap.Marker(pts[0],{icon:myIcon});
map.addOverlay(carMk);
i=0;
function removeMkPoint(i){
if(i < paths){//
setTimeout(function(){
i+&