0

私は2点のlatとlanを持っています。これらの2点間の距離を見つけるにはどうすればよいですか? コードまたはリンクがある場合は、私に提案してください。

ありがとうございました。

4

2 に答える 2

2

Android SDK 関数の distanceBetweenを使用できます。

2 つの場所の間のおおよその距離をメートル単位で計算し、必要に応じてそれらの間の最短経路の最初と最後の方位を計算します。距離と方位は、WGS84 楕円体を使用して定義されます。

于 2013-02-02T11:59:06.563 に答える
1

これを試してみてください、あなたは距離を得るでしょう

 private String distance(double lati, double longi, double curlati1,
        double curlongi1) {

    double theta = longi - curlongi1;
    double dist = Math.sin(deg2rad(lati)) * Math.sin(deg2rad(curlati1))
            + Math.cos(deg2rad(lati)) * Math.cos(deg2rad(curlati1))
            * Math.cos(deg2rad(theta));
    dist = Math.acos(dist);
    dist = rad2deg(dist);
    dist = dist * 60 * 1.1515;

    dist = dist * 1.609344;

    result = Double.toString(dist);
    System.out.println("dist_result :" + result);
    return (result);
}

/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
/* :: This function converts decimal degrees to radians : */
/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
private double deg2rad(double deg) {
    return (deg * Math.PI / 180.0);
}

/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
/* :: This function converts radians to decimal degrees : */
/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
private double rad2deg(double rad) {
    return (rad * 180.0 / Math.PI);
}
于 2013-02-02T11:53:47.497 に答える