给定具有经度和纬度的位置对象集合,如何根据每个位置到当前位置对象的距离对该列表进行排序?
我有一个方法可以计算两个 Location 对象之间的距离(以米为单位)。
Collections.Sort()
在这里合适吗?
最佳答案
这是对 Benjy 答案的更新,除了使用 Location
类的内置函数。它被隔离以将源作为构造函数的一部分包含在内。
public class LocationComparator implements Comparator<Location>
{
Location origin;
LocationComparator(Location origin){
this.origin= origin;
}
public int compare(Location left, Location right) {
return Float.compare(origin.distanceTo(left), origin.distanceTo(right));
}
}
使用方法如下
Collections.sort(latLonCollection, new LocationComparator(originLocation));
关于java - 按距当前 GPS 位置的距离对 GPS 位置集合进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30156572/