1. 程式人生 > >根據百度地圖兩個座標點獲得兩點間距離

根據百度地圖兩個座標點獲得兩點間距離

//地球半徑
 private static final double EARTH_RADIUS = 6378.137;
/**
   * 根據經緯度查詢距離
   * @param lng1 經度
   * @param lat1 緯度
   * @param lng2 經度
   * @param lat2 緯度
   * @return
   */
  private static double GetDistance(double lng1,double lat1, double lng2,  double lat2)
  {
     double radLat1 = rad(lat1);
     double radLat2 = rad(lat2);
     double a = radLat1 - radLat2;
     double b = rad(lng1) - rad(lng2);

     double s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a/2),2) +
      Math.cos(radLat1)*Math.cos(radLat2)*Math.pow(Math.sin(b/2),2)));
     s = s * EARTH_RADIUS*1000;
//	   s = Math.round(s * 10000) / 10000;
     return s;
  }
  private static double rad(double d)
  {
     return d * Math.PI / 180.0;
  }