根据经纬度获取两个坐标点之间的距离

Android 同时被 2 个专栏收录
1 篇文章 0 订阅
2 篇文章 0 订阅

根据经纬度计算距离公式

在这里插入图片描述

Java 实现

/**
  * 获取两个坐标点之间的距离
  *
  * https://segmentfault.com/a/1190000013922206
  * https://www.jianshu.com/p/18efaabab98e
  *
  * @param p1
  * @param p2
  * @return
  */
 public static double getDistance(LatLonPoint p1, LatLonPoint p2) {
     double p1Lat = p1.getLatitude();
     double p2Lat = p2.getLatitude();
     double a = p1Lat - p2Lat;
     double b = p1.getLongitude() - p2.getLongitude();
     return 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a/2), 2) + Math.cos(p1Lat) * Math.cos(p2Lat) * Math.pow(Math.sin(b/2), 2))) * EARTH_RADIUS;
 }

参考:
https://segmentfault.com/a/1190000013922206
https://www.jianshu.com/p/18efaabab98e

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值