返回distanceTo()方法,用于计算两个位置之间的距离,米距离线性距离?

时间:2013-11-18 07:16:16

标签: android locationmanager

我想知道方法distanceTo()是否从线性距离或您必须从位置A驱动到位置B的实际距离返回米。

我的想法是它是直线距离,但我不完全清楚。

有人确切知道吗?

2 个答案:

答案 0 :(得分:0)

所有方法提供的距离,例如从A点到B点的谷歌地图,位置等等由许多较小的直线组成。聚线。 所以从A到B,可以说是A,D,E,F,B。在这种情况下,A-D将是线性直线 - 线性距离。 D-E再次是线性距离。

当您将所有线性距离相加时,您将获得从A到B的实际行驶距离。

答案 1 :(得分:0)

来自the docs

  

返回此位置与给定位置之间的近似距离(以米为单位)。距离是使用WGS84椭圆体定义的。

所以它是椭圆体表面的距离。

阅读Location.java的源代码,从API 18开始,distanceTo方法调用私有方法computeDistanceAndBearing。在这个方法的开始,你可以找到这个评论:

// Based on http://www.ngs.noaa.gov/PUBS_LIB/inverse.pdf
// using the "Inverse Formula" (section 4)

这是一种迭代方法(n = 20)。您可以检查该文档以查看他们使用的公式。