根据提供的两个经纬度计算距离(米)

java 复制代码
public static final double RAD = Math.PI / 180;
public static final double EARTH_RADIUS = 6378137;
public static double getDistance(double lng1, double lat1, double lng2, double lat2) {
        double radLat1 = lat1 * RAD;
        double radLat2 = lat2 * RAD;
        double a = radLat1 - radLat2;
        double b = (lng1 - lng2) * RAD;
        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;
        s = Math.round(s * 10000) / 10000;
        return Math.abs(s);
}
相关推荐
jk_10121 分钟前
MATLAB中extractAfter函数用法
开发语言·matlab
笑口常开xpr29 分钟前
C语言 --- 循环(1)
c语言·开发语言
侠客行031732 分钟前
Spring中Bean初始化与销毁实现
java·架构·源码阅读
magic 2451 小时前
Java继承中的静态方法隐藏与实例变量隐藏:深入解析与最佳实践
java·开发语言·javase
Java 第一深情2 小时前
JVM面试题解,垃圾回收之“垃圾回收器”剖析
java·jvm·面试
我命由我123452 小时前
前端性能优化指标 - DCL(触发时机、脚本对 DCL 的影响、CSS 对 DCL 的影响)
开发语言·前端·javascript·css·性能优化·html·js
maizeman1262 小时前
R语言统计分析——ggplot2绘图4——刻面
开发语言·r语言·可视化·ggplot·刻面
for622 小时前
一文读懂fgc之cms
java·jvm·实践
DARLING Zero two♡3 小时前
C++传送锚点的内存寻址:内存管理
开发语言·c++·内存管理
花心蝴蝶.3 小时前
MyBatis 入门
java·spring boot·后端·mybatis