-2
我想知道如何从给定的浮点值获取最近的位置。从给定的浮点值中查找ArrayList中的最近位置
我有一个ArrayList的城市有拉特/长。我想要做的是从给定的坐标中找到最近的城市。
public class City {
private float lat;
private float lng;
//getters & setters
}
List <City> cities; // at this point "cities" contains several "city"
City city;
city = findNearest(lat, lng);
private City findNearest(float lat, float lng) {
for (City c: cities) {}
}
只需用[数学](https://www.mathsisfun.com/algebra/distance-2-points.html)计算点X和点Y之间的差异并将最小的一个存储在变量中。 – SomeJavaGuy
使用一个变量来跟踪您认为哪一个最接近并在您循环时更新它。对于每个城市,找到距离。如果它比您以前认为最接近的那个更接近,请将其分配给变量。另外,不要发布无意义的代码碎片。 – khelwood
你的方法是什么?找到两个地理坐标之间的距离比@KevinEsche提到的稍微复杂一点,但简单的距离是一个好的开始。 – f1sh