Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android-如何找到两点之间的距离-Java代码?_Java_Android_Google Maps_Distance - Fatal编程技术网

Android-如何找到两点之间的距离-Java代码?

Android-如何找到两点之间的距离-Java代码?,java,android,google-maps,distance,Java,Android,Google Maps,Distance,我有两点的lat和lan。 如何计算这两点之间的距离? 如果你有任何代码或链接,那么请建议我 谢谢。试试这个,你会走得更远 private String distance(double lati, double longi, double curlati1, double curlongi1) { double theta = longi - curlongi1; double dist = Math.sin(deg2rad(lati)) * Math.sin

我有两点的lat和lan。 如何计算这两点之间的距离? 如果你有任何代码或链接,那么请建议我


谢谢。

试试这个,你会走得更远

 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);
}

试试这个,你会走得更远

 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);
}

您可以使用Android SDK函数

计算两个位置之间的近似距离(以米为单位),以及它们之间最短路径的初始方位角和最终方位角(可选)。使用WGS84椭球定义距离和方位


您可以使用Android SDK函数

计算两个位置之间的近似距离(以米为单位),以及它们之间最短路径的初始方位角和最终方位角(可选)。使用WGS84椭球定义距离和方位