获取两点之间的角度
真实角度值:
以x轴右轴为起始轴,逆时针旋转,0至360
arcgis图标旋转角度值:symbol.setAngle(角度)
以x轴左轴为起始轴,顺时针旋转,0至360
代码如下
/**
* 参数:
* fromPoint: [经度,纬度] ------ 起点
* toPoint :[经度,纬度] ------ 终点
*
* 返回值:
* 0-360的角度值
**/
function getAngle(fromPoint, toPoint) {
// 获取两点弧度
var radian = Math.atan2(toPoint[1] - fromPoint[1], toPoint[0] - fromPoint[0]);
// 转成角度
var angle = radian * 180 / Math.PI;
// 确保角度在0—360之间
//将负值转化为正值
if(angle < 0) angle += 360;
//将0-180的y为负的转化为180-360之间
if(toPoint[1]<fromPoint[1]) angle +=180;
//调整角度为arcgis的角度,即setAngle(角度)
if(angle>=0 && angle<=180) angle = 180 - angle;
else if(angle>180 && angle<=360) angle = 540 - angle;
else if(angle > 360) angle = angle%360;
return Number(angle);
}