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地图的应用,具备查询两地距离的功能。下面将详细介绍这个项目涉及的主要知识点。 1. **集成地图API**: - Android地图服务通常基于Google Maps Android ...