使用GIS图时有需求时地图上的小车根据行进路线调整方向,所以在网上找了别人写的方法进行调试,最后总结了一下应该怎么调用方法去做。
function Angle (startx, starty, endx, endy) { //传进来两个坐标,分别是出发坐标和结束坐标
//每次经过点的时候计算一次角度
var tan = 0
if (endx == startx) {
tan = Math.atan(0) * 180 / Math.PI
} else {
tan = Math.atan(Math.abs((endy - starty) / (endx - startx))) * 180 / Math.PI;
}
if (endx >= startx && endy >= starty) //第一象限 根据象限判断车头方向,然后加90 180进行翻转就行了 tan是初始角度
{
return -tan; //需要调整的只有两个点的经纬度比较出现的四种情况 可以在后台打断点 先看看是进入到哪个象限 然后在该象限 tan角度基础上调整 +90 -90 +180 -180等等,其他不需要更改。
} else if (endx > startx && endy < starty)//第四象限
{
return tan + 90;
} else if (endx < startx && endy > starty)//第二象限
{
return tan - 90;
} else {
return tan - 90; //第三象限
}
}