【发布时间】:2013-04-16 16:54:40
【问题描述】:
我正在计算两个纬度和经度之间的距离。我得到了一些距离的结果,但有时,我得到的结果是 NAN。
这是我得到的2个地方的纬度和经度。
例如: 38.655553,-121.091611
38.654875,-121.091324
我正在使用下面的代码参考下面的链接计算距离
Calculating distance between two geographic locations
public static double distanceBetween (double currentLat2, double currentLong2, double mallLat2, double mallLong2)
{
float pk = (float) (180/3.14169);
double a1 = currentLat2 / pk;
double a2 = currentLong2 / pk;
double b1 = mallLat2 / pk;
double b2 = mallLong2 / pk;
double t1 = FloatMath.cos((float) a1)*FloatMath.cos((float) a2)*FloatMath.cos((float) b1)*FloatMath.cos((float) b2);
double t2 = FloatMath.cos((float) a1)*FloatMath.sin((float) a2)*FloatMath.cos((float) b1)*FloatMath.sin((float) b2);
double t3 = FloatMath.sin((float) a1)*FloatMath.sin((float) b1);
double tt = Math.acos(t1 + t2 + t3);
return 6366000*tt;
}
有什么帮助吗?
谢谢。
【问题讨论】:
-
Location已经有了distanceTO,怎么回事?
-
我正在使用 distancebetween() 它有时会给出 NAN 作为结果。
标签: android gps latitude-longitude