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

根据经纬度计算距离公式

在这里插入图片描述

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

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页