主要功能:地图上,添加动态轨迹效果,运动时,小车的头部根据方向不同而变化
首先,轨迹其实是 一些点数据 画出的线
获得这些点数据,两两比较获得偏移角度,然后设置小车等图片的旋转角度
function setAnimationRotation(curPoint,prePoint){ //该方法获得两点的偏移角度
var deg = 0;
if(prePoint.lon != curPoint.lon){
var tan = (prePoint.lat - curPoint.lat)/(prePoint.lon - curPoint.lon),
atan = Math.atan(tan);
deg = atan*360/(2*Math.PI);
//degree correction;
if(prePoint.lon < curPoint.lon){
deg = -deg;
} else {
deg = 180-deg;
}
return deg;
}else {
var sign = prePoint.lat- curPoint.lat ;
var ang= 0;
if(sign> 0){
ang=-1
}else{
ang = 1
}
return -ang* 90;
}
return;
}
通过上面方法,获得偏转角度后,同时还要根据小车图片初始的小车头部方向进行调整,这个就很简单了,自己测试下,加减一个固定角度就好
var angle = setAnimationRotation(point1,point2);//参数是 经纬度坐标点
然后调用对应地图修改角度的方法,比如:arcgis的symbol.setAngle(angle);设置图片的角度