根据A、B两点经纬度计算距离

/**
     *
     * @param lat1 A点纬度
     * @param lat2 B点纬度
     * @param lon1 A点经度
     * @param lon2 B点经度
     * @return 返回距离 单位km
     */

    public static double getDistatce(double lat1, double lat2, double lon1,double lon2) {
        double R = 6378.137;//地球半径
        double distance = 0.0;
        double dLat = (lat2 - lat1) * Math.PI / 180;
        double dLon = (lon2 - lon1) * Math.PI / 180;
        double a = Math.sin(dLat / 2) * Math.sin(dLat / 2)
                + Math.cos(lat1 * Math.PI / 180)
                * Math.cos(lat2 * Math.PI / 180) * Math.sin(dLon / 2)
                * Math.sin(dLon / 2);
        distance = (2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a))) * R;
        return distance;
    }

猜你喜欢

转载自blog.csdn.net/chenrisheng1/article/details/25319979
今日推荐