你可以使用Google Maps API中的LatLng类的distanceTo()方法来计算两个经纬度之间的距离。以下是一个示例代码:
import com.google.android.gms.maps.model.LatLng;
import java.util.ArrayList;
public class DistanceCalculator {
public static ArrayList calculateDistance(ArrayList list, LatLng point) {
ArrayList distances = new ArrayList<>();
for (LatLng latLng : list) {
float[] results = new float[1];
LatLng.distanceBetween(latLng.latitude, latLng.longitude, point.latitude, point.longitude, results);
double distance = results[0] / 1000.0; // 距离转换为公里
distances.add(distance);
}
return distances;
}
public static void main(String[] args) {
ArrayList latLngList = new ArrayList<>();
// 假设你有一组经纬度数据
latLngList.add(new LatLng(39.9042, 116.4074));
latLngList.add(new LatLng(31.2304, 121.4737));
latLngList.add(new LatLng(22.3964, 114.1095));
LatLng point = new LatLng(40.7128, -74.0060); // 假设要比较的经纬度
ArrayList distances = calculateDistance(latLngList, point);
// 打印距离结果
for (double distance : distances) {
System.out.println("Distance: " + distance + " km");
}
}
}
以上示例代码使用了Google Maps API的LatLng类和distanceBetween()方法来计算一个经纬度与另一个经纬度之间的距离,并将结果存储在一个ArrayList中。距离单位是公里。你可以根据需要进行修改。