请给我解释一下这个情况
现在我有两个数组,有附近地方的纬度和经度,也有用户位置latiude和longiude,现在我想计算用户位置和附近地方之间的距离,并希望在listview中显示它们。
我知道有一种计算距离的方法
public static void distanceBetween (double startLatitude, double startLongitude, double endLatitude, double endLongitude, float[] results);
现在的问题是如何通过这两个数组具有附近的纬度和经度在这个方法中,并得到距离的数组。
8条答案
按热度按时间kkbh8khc1#
http://developer.android.com/reference/android/location/Location.html
眺望远方
返回此位置与给定位置之间的近似距离(以米为单位)。距离使用WGS84椭球定义。
或距离
计算两个位置之间的近似距离(以米为单位),还可以选择计算两个位置之间最短路径的初始方位角和最终方位角。距离和方位角使用WGS84椭球定义。
您可以从纬度和经度创建Location对象:
或
v1l68za42#
这里我们有两个经度和纬度值,selected_location.distanceTo(near_locations)函数返回这两个地方之间的距离,单位为米。
这里“distance”是locationA和locationB之间的距离(单位:
Meters
)oknwwptz3#
只有一个用户Location,所以可以迭代附近地点的List可以调用
distanceTo()
函数来获取距离,如果喜欢可以存储在数组中。据我所知,
distanceBetween()
是用于遥远的地方,它的输出是一个WGS84椭球。8xiog9wr4#
z9ju0rcb5#
distanceTo将为您提供两个给定位置ej target之间的距离(以米为单位)。distanceTo(destination)。
distanceBetween也给予你距离,但它会将距离存储在一个float数组(results[0])中。文档说如果results的长度为2或更大,则初始方位存储在results[1]中。如果results的长度为3或更大,则最终方位存储在results[2]中
希望这能有所帮助
我已经用distanceTo来计算从A点到B点的距离,我认为这是正确的方法。
f0ofjuux6#
byqmnocz7#
我想自己实现这一点,我最终阅读了Great-circle distance formula上的Wikipedia页面,因为没有代码可读到足以让我作为基础使用。
C#示例
piok6c0g8#
简单地使用
.distanceTo
方法。例如: