美文网首页
获取两个坐标距离(百度)

获取两个坐标距离(百度)

作者: 安卓_背包客 | 来源:发表于2020-06-13 17:22 被阅读0次
    /***
     * @param lat1 经
     * @param lng1 维度
     * @param lat2 经
     * @param lng2 维度
     * @return  获取两点之间距离
     *
     */
    public static double getDistance(double lat1, double lng1, double lat2, double lng2){
      /* 计算两个经纬度的距离(千米)
                */
        double radLat1 = lat1*Math.PI / 180.0;
        double radLat2 = lat2*Math.PI / 180.0;
        double a = radLat1 - radLat2;
        double b = lng1*Math.PI / 180.0 - lng2*Math.PI / 180.0;
        double s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a/2),2) +
                Math.cos(radLat1)*Math.cos(radLat2)*Math.pow(Math.sin(b/2),2)));
        s = s *6378.137 ;// EARTH_RADIUS;
        s = Math.round(s * 10000) / 10000;
        return ArithUtil.toFloat(s,2);
    }

=ArithUtil=
   public static float toFloat(double value1, Integer number) {
        BigDecimal decimal =  BigDecimal.valueOf(value1);
        return decimal.setScale(number, BigDecimal.ROUND_DOWN).floatValue();

    }

相关文章

网友评论

      本文标题:获取两个坐标距离(百度)

      本文链接:https://www.haomeiwen.com/subject/trlztktx.html