美文网首页
2020-08-05 java 计算gps 两个坐标之间的距离

2020-08-05 java 计算gps 两个坐标之间的距离

作者: lancelot123 | 来源:发表于2020-09-25 14:43 被阅读0次
    /**
     * by llf
     */
    public class GoogleMapHelper {
    
        private static double EARTH_RADIUS = 6378.137;  //地球半径
        //将用角度表示的角转换为近似相等的用弧度表示的角 Math.toRadians
        private static double rad(double d)
        {
            return d * Math.PI / 180.0;
        }
    
        /**
         * 谷歌地图计算两个坐标点的距离
         * @param lng1  经度1
         * @param lat1  纬度1
         * @param lng2  经度2
         * @param lat2  纬度2
         * @return 距离(米)
         */
        public static double getDistance(double lng1, double lat1, double lng2, double lat2)
        {
            double radLat1 = Math.toRadians(lat1);
            double radLat2 = Math.toRadians(lat2);
            double a = radLat1 - radLat2;
            double b = Math.toRadians(lng1) - Math.toRadians(lng2);
            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 * EARTH_RADIUS;
            s = Math.round(s * 1000);
            return s;
        }
    
        public static void main(String[] args) {
            // 北湖十六峯 114.51074,36.668875
            // 邯郸信息工程学校 114.506859,36.664793
            double dist1 = getDistance(114.51074,36.668875, 114.506859,36.664793) ;
    
            System.out.println("两点相距:" + dist1 + "米");
    
        }
    }
    

    相关文章

      网友评论

          本文标题:2020-08-05 java 计算gps 两个坐标之间的距离

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