根据经纬度查询附近

package com.yuezhu.utils;
/**
 * 根据经纬度查询附近
 * Created by 59238 on 2018/7/12.
 */
public class DegreeUtils {
    private static final  double EARTH_RADIUS = 6378137.0;//地球半径(米)

    // 角度数转换为弧度公式
    private static double radians(double d) {
        return d * Math.PI / 180.0;
    }

    // 弧度转换为角度数公式
    private static double degrees(double d) {
        return d * (180 / Math.PI);
    }
    // 计算两个经纬度之间的直接距离(google 算法)
    public static double GetDistanceGoogle(Double longitude, Double latitude,Double longitude2,Double latitude2) {
        double radLat1 = radians(longitude);
        double radLng1 = radians(latitude);
        double radLat2 = radians(longitude2);
        double radLng2 = radians(latitude2);

        double s = Math.acos(Math.cos(radLat1) * Math.cos(radLat2) * Math.cos(radLng1 - radLng2) + Math.sin(radLat1) * Math.sin(radLat2));
        s = s * EARTH_RADIUS;
        s = Math.round(s * 10000) / 10000;
        return s;
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值