gpt4 book ai didi

android - 对 lon\lat 点列表进行排序,从最近的开始

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:49:36 32 4
gpt4 key购买 nike

我有来自 GPS 的位置(lon_base,lat_base)。我有一个位置列表(lon1、lat1|lon2、lat2|lon3、lat3...)这个名单很长,遍布世界各地。

我的问题是:1. 如何从该列表中仅获取距我的 lon_base\lat_base 1 英里的 lon\lat?2. 如何将它们从近到远排序?

提前致谢!

最佳答案

public static List<Location> sortLocations(List<Location> locations, final double myLatitude,final double myLongitude) {
Comparator comp = new Comparator<Location>() {
@Override
public int compare(Location o, Location o2) {
float[] result1 = new float[3];
android.location.Location.distanceBetween(myLatitude, myLongitude, o.Lat, o.Long, result1);
Float distance1 = result1[0];

float[] result2 = new float[3];
android.location.Location.distanceBetween(myLatitude, myLongitude, o2.Lat, o2.Long, result2);
Float distance2 = result2[0];

return distance1.compareTo(distance2);
}
};


Collections.sort(locations, comp);
return locations;
}

位置列表是包含您自己的位置类的列表,而不是 android.location.Location。

关于android - 对 lon\lat 点列表进行排序,从最近的开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5396286/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com