根据两点经纬度获取二者连线角度值,以及arcgis图标旋转的角度值

获取两点之间的角度

真实角度值:
以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);  
}

Guess you like

Origin blog.csdn.net/yiyueqinghui/article/details/115212057