从当前位置排序经纬度坐标

时间:2018-10-02 14:30:01

标签: java android

我正在尝试根据纬度和经度与用户当前位置的距离来排序列表。我曾尝试使用比较器,但似乎无法使其正常工作。我尝试了多种实现比较器的方法,包括使用arraylist,并尝试了多种在线教程。我当时在考虑使用一个集合然后对其进行排序,但实际上并不知道该如何做。我是否在正确的轨道上?我的代码如下。如果有人能指出我正确的方向,那就太好了。非常感谢!

end=''

1 个答案:

答案 0 :(得分:2)

在伪代码中,它应该看起来像这样

public class DistanceComparator implements Comparator<Location> {
    private Location current;

    public DistanceComparator(Location loc) {
        current = loc;
    }

    @Override
    public int compare(Location l1, Location l2) {
        int distance1 = calculateDistance(current, l1); // your code to calculate distance
        int distance2 = calculateDistance(current, l2);

        if (distance1 < distance2) return -1;
        if (distance1 == distance2) return 0;
        return 1;
    }
}