`

android 中根据两个经纬度计算两地距离

 
阅读更多
package a;
public class Distance {
 private static final double EARTH_RADIUS = 6378137.0;
 public static void main(String[] args) {
  double lo1 = 108.90, la1 = 34.1;// 第一个经纬度
  double lo2 = 115.4648060, la2 = 38.8738910;// 第二个经纬度
  System.out.println("经纬度结果:" + getDistance(lo1, la1, lo2, la2));
  System.out.println("经纬度结果:" + getDistance(0, 0, 0, 0));
 }
 // 返回单位是米
 public static double getDistance(double longitude1, double latitude1,
   double longitude2, double latitude2) {
  double Lat1 = rad(latitude1);
  double Lat2 = rad(latitude2);
  double a = Lat1 - Lat2;
  double b = rad(longitude1) - rad(longitude2);
  double s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2)
    + Math.cos(Lat1) * Math.cos(Lat2)
    * Math.pow(Math.sin(b / 2), 2)));
  s = s * EARTH_RADIUS;
  s = Math.round(s * 10000) / 10000;
  return s;
 }
 private static double rad(double d) {
  return d * Math.PI / 180.0;
 }
}

 http://www.eoeandroid.com/thread-196298-1-1.html

分享到:
评论

相关推荐

    根据经纬度测两地距离

    计算两个经纬度坐标点(λ1, φ1)和(λ2, φ2)之间的大圆距离,可以使用著名的Haversine公式: ``` a = sin²(Δφ/2) + cos φ1 ⋅ cos φ2 ⋅ sin²(Δλ/2) c = 2 ⋅ atan2( √a, √(1−a) ) d = R ⋅ c ``` ...

    计算两地间的距离

    本文将详细介绍如何根据两地的经纬度来计算它们之间的距离,主要聚焦于三种方法:球面余弦定律、哈弗赛恩公式以及文卡特拉曼(Vincenty's formula)迭代算法。 ### 1. 球面余弦定律 球面余弦定律是一种基于地球视...

    百度地图地址批量转换计算距离和获取定位城市

    这个也是找了好久没找到,自己最近项目需要,也是研究之后写成了jar包,共需要的人直接拿来使用。里面有邮箱如有什么疑问可以发邮件,有时间一定解决,拿到测试代码需要 申请百度key,里面有文档说明,相信一看你...

    基于Android的Google地图设计报告.docx

    - **计算两点间实际公里数**:用户输入两个点的经纬度后,系统能够计算这两个点之间的实际距离。 - **显示卫星地图**:用户可以点击按钮切换到卫星视图模式,查看更详细的地图信息。 - **显示个人信息**:用户可以...

    android地图

    本项目名为“android地图”,旨在实现一个类似于手机Google地图的应用,具备查询两地距离的功能。下面将详细介绍这个项目涉及的主要知识点。 1. **集成地图API**: - Android地图服务通常基于Google Maps Android ...

Global site tag (gtag.js) - Google Analytics