Open cccreator opened 5 years ago
//更新定位点
app.updateRouteBusTrail = function (time) {
app.waveLayer.clear(app.graphicw); //清除上一次位置的波元素
app.map.removeLayer(app.graphicw);
for (var i = 0; i < app.playpathAll.length; i++) {//遍历每一辆车
//记录每辆车的播放位置
var j = app.busPositionMark[i] == undefined ? 0 : app.busPositionMark[i];
var tempPosiTion;//位置,gps点
for (j; j < app.playpathAll[i].length; j++) {//遍历每辆车的每个gps点
var item = app.playpathAll[i][j];//每个gps点
if (item[4].substring(0,19) <= time) {//如果gps时间小于标准时间
tempPosiTion = item;
} else {
//如果位置j == app.busPositionMark[i]
if(j==app.busPositionMark[i]&&j> 0){
//如果gps时间大于标准时间,则给tempPosiTion赋值
tempPosiTion= app.playpathAll[i][j-1];
}
app.busPositionMark[i] = j;//更新app.busPositionMark[i]
break;//跳出循环
}
}
if (tempPosiTion == undefined)//如果
continue
// app.waveLayer.clear(app.graphicw); //清除上一次位置的波元素
//设置坐标
//图片根据划线点的坐标,重新走一下图片。
var ppw = new esri.geometry.Point(tempPosiTion[0], tempPosiTion[1]);
var symbolw = new esri.symbol.PictureMarkerSymbol(mapConfig.compreshowNoClickBusSZ, mapConfig.routeBusPlayWaveSize, mapConfig.routeBusPlayWaveSize);
app.graphicw = new esri.Graphic(ppw, symbolw, {
"carNo": tempPosiTion[2],
"actTime": tempPosiTion[4]
}); //波对象
app.waveLayer.add(app.graphicw); //波对象添加到图层
// app.map.addLayer(app.waveLayer); //图层添加到地图
}
dojo.connect(app.waveLayer,"onMouseOver",mouseOnHisBusLayer);
dojo.connect(app.waveLayer,"onMouseOut",mouseOutHisBusLayer);
app.map.addLayer(app.waveLayer); //图层添加到地图
}
线路运行回放前端实现代码
第一步
第二步