我已经计算了两个纬度和经度坐标之间的角度,如下面的代码。它以弧度返回角度3,度数为193。我想根据此角度在地图上显示箭头标记。如何根据此角度显示移动的对象方向?如何根据以度为单位的计算角度显示地图上的方向
public static double getAngle(double lat1, double lon1, double lat2, double lon2)
{
//Formulas
//θ = atan2( sin(Δlong).cos(lat2),cos(lat1).sin(lat2) − sin(lat1).cos(lat2).cos(Δlong))
// Δlong = long2 - long1
Log.i("angle", "Inside getAngle");
double latitude1 = Math.toRadians(lat1);
double longitude1 = Math.toRadians(lon1);
double latitude2 = Math.toRadians(lat2);
double longitude2 = Math.toRadians(lon2);
double dlong = Math.toRadians(longitude2-longitude1);
double y = Math.sin(dlong) * Math.cos(latitude2);
double x = Math.cos(latitude1)*Math.sin(latitude2) - Math.sin(latitude1)*Math.cos(latitude2)*Math.cos(dlong);
double angle= Math.atan2(y, x);
if (angle < 0)
angle = Math.abs(angle);
else
angle = 2*Math.PI - angle;
Log.i("angle", String.valueOf(angle)+" in radians");
angle=Math.toDegrees(angle);
Log.i("angle", String.valueOf(angle)+" in degrees");
return angle;
}
所以试试像这样Uri.parse(“http://maps.google.com/maps?f=d&daddr=51.448,-0.972”));得到两点之间的方向.. – Janmejoy
不,我不想使用Google路线API和路线。我已经有了路线位置。我只想用折线连接箭头。 – Ramprasad