当前位置: 代码迷 >> GIS >> 动态轨迹回放,该怎么处理
  详细解决方案

动态轨迹回放,该怎么处理

热度:275   发布时间:2016-05-05 06:36:28.0
动态轨迹回放
就是我在实现动态轨迹回放的时候碰到点问题:
//   依据historyPointList保存的数据来绘制小车历史路径
Car.prototype.DrawPathByHistoryPointList   =   function()
{
var   temp   =   new   Array();
var   preX   ;var   preY   ;var   curX   ;var   curY   ;
//   清楚原来的线对象
ClearLines()   ;

//javascript事件绑定后this变义问题的解决,可以通过此方法解决
var   carObj   =   this.CarObj   ;
//alert(carObj)   ;

//   依据historyPointList绘制所有的点和线
for(var   i=0;i <this.historyPointList.length;++i)
{
        temp   =   this.historyPointList[i].split( '| ');

        curX   =   parseInt(temp[0]);
        curY   =   parseInt(temp[1]);
        curID   =   parseInt(temp[2]);
        curSpeed   =   parseInt(temp[3]);
        curMileage   =   parseInt(temp[4]);

        //   画cur坐标点

        window.setTimeout(this.myR.createPoint2(curX,   curY,   curID,   curSpeed,   curMileage),2000)
       
        //   如果有两个点,就开始画线
if(i> 0)
        {
        //   从pre点到cur点画线

//         window.setTimeout(this.myR.createLine3(preX,   preY,   curX,   curY,   curID,   curSpeed,   curMileage),2000);//只执行一次

        }
               
        //   update   pre   point
        preX   =   curX   ;
        preY   =   curY   ;
        //carObj.historyPointList.push(preX+ '| '+preY)   ;

//         setTimeout( " ",20000);
}

//   调整小车位置
var   mapPoint   =   document.getElementById( "myPoint ");  
try
{
//this.carImage.style.display   =   " "   ;      
        //this.carImage.style.left   =   curX   ;    
        //this.carImage.style.top   =   curY   ;
}
catch(e)
{
//alert( 'LL ');
}
}

代码中在for循环中为什么setTimeout没有起到延时作用啊?我想实现动态的效果要怎么实现啊?


------解决方案--------------------
window.setTimeout(this.myR.createLine3(preX, preY, curX, curY, curID, curSpeed, curMileage),2000);//只执行一次
this不会被支持的
  相关解决方案