我想知道方法distanceTo()
是否从线性距离或您必须从位置A驱动到位置B的实际距离返回米。
我的想法是它是直线距离,但我不完全清楚。
有人确切知道吗?
答案 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)。您可以检查该文档以查看他们使用的公式。