通过经纬度计算距离
通过经纬度计算距离
咻咻咻咻 发表于2年前
通过经纬度计算距离
  • 发表于 2年前
  • 阅读 7
  • 收藏 0
  • 点赞 1
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

public class DistanceUtil {
    public static String getDistance(double lat1, double lng1, double lat2, double lng2) {
        if (lat1 == 0 || lng1 == 0 || lat2 == 0 || lng2 == 0) {
            return "未知";
        }
        lat1 = (Math.PI / 180) * lat1;
        lat2 = (Math.PI / 180) * lat2;

        lng1 = (Math.PI / 180) * lng1;
        lng2 = (Math.PI / 180) * lng2;

        // 地球半径
        double R = 6371;

        // 两点间距离 km,如果想要米的话,结果*1000就可以了
        double d = Math.acos(Math.sin(lat1) * Math.sin(lat2) + Math.cos(lat1) * Math.cos(lat2) * Math.cos(lng2 - lng1))
                * R;

        int distance = (int) Math.round(d * 1000);
        if (distance <= 100) {
            return "附近";
        } else if (distance < 1000) {
            return distance + "米";
        } else {
            return distance / 1000 + "千米";
        }
    }
}
共有 人打赏支持
粉丝 2
博文 12
码字总数 4169
×
咻咻咻咻
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: