gpt4 book ai didi

android - 如何从纬度和经度按升序对距离进行排序

转载 作者:行者123 更新时间:2023-11-29 23:11:19 27 4
gpt4 key购买 nike

这里我通过脚本从服务器下载了地点数据,现在我想使用毕达哥拉斯按照距离的升序对 Place 列表进行排序

private class chargeur extends AsyncTask<Void, Void, List<Place>> {

@Override
protected List<Place> doInBackground(Void... voids) {
List<Place> pl = new ArrayList<>();
URL adresse = null;

try {
HttpsURLConnection cnx = Connecteur.connecter("get_all_places.php");
BufferedReader B = new BufferedReader(new InputStreamReader(cnx.getInputStream()));
String reponse = "";
String lign = "";
while ((lign = B.readLine())!=null) {
reponse+= lign;
}

JSONArray tab = new JSONArray(reponse);
for (int i = 0; i<tab.length();i++) {
JSONObject obj = tab.getJSONObject(i);
String name = obj.getString("name");
String longitude = obj.getString("longitude");
String latitude = obj.getString("latitude");
Place p = new Place(name, longitude ,latitude);
pl.add(p);
}
return pl;
} catch (Exception e) {}
}
// ...
}

最佳答案

你可以把它变成这样

Collections.sort(pl, new Comparator<Place>() {
public int compare(Place pl1, Place pl2) {
// Write your logic here.
return Math.sqrt(pl1.longitude * pl1.longitude + pl1.latitude * pl1.latitude) <
Math.sqrt(pl2.longitude * pl2.longitude + pl2.latitude * pl2.latitude);
}});

关于android - 如何从纬度和经度按升序对距离进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55991643/

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