JAVAの緯度と経度の値にある2点間の距離をどのように計算しますか?
ありがとう
これを見てください: http://www.zipcodeworld.com/samples/distance.java.html
上記のリンクが壊れているので、これを見てください: 2 つの緯度経度ポイント間の距離を計算しますか? (Haversine 式) .
この投稿の要約:
public final static double AVERAGE_RADIUS_OF_EARTH = 6371;
public int calculateDistance(double userLat, double userLng, double venueLat, double venueLng) {
double latDistance = Math.toRadians(userLat - venueLat);
double lngDistance = Math.toRadians(userLng - venueLng);
double a = (Math.sin(latDistance / 2) * Math.sin(latDistance / 2)) +
(Math.cos(Math.toRadians(userLat))) *
(Math.cos(Math.toRadians(venueLat))) *
(Math.sin(lngDistance / 2)) *
(Math.sin(lngDistance / 2));
double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
return (int) (Math.round(AVERAGE_RADIUS_OF_EARTH * c));
}