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

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);
}
相关推荐
鸿芯微控科技11 分钟前
压电点胶阀出胶量不稳定怎么排查?驱动波形、背压、点胶重量与Python分析
开发语言·python·压电点胶阀·精密点胶·点胶重量·流体控制
原野池予22 分钟前
深入Java集合框架:HashMap源码解析(JDK 8)
java·开发语言
古法安卓27 分钟前
Android-Direct Boot 阶段与 getFilesDir() 路径变更问题深度分析
android·java·android studio
-今昭-31 分钟前
Logstash 管理
java·服务器·前端
测试运维日常笔记32 分钟前
VMware vSphere、ESXi 与 vCenter Server:核心概念与关系详解
java·开发语言
风流 少年1 小时前
Spring AI 2.0:Flux
java·人工智能·spring
m0_547486661 小时前
《面向对象与Java程序设计》全套PPT课件2026
java·开发语言
星恒随风1 小时前
C++ 红黑树封装(二):迭代器、const_iterator 与 operator[] 完整实现 mymap 和 myset
开发语言·c++·状态模式
jason成都1 小时前
ignav-next|Java 层封装 GNSS/INS 组合导航框架,隔离 RTKLIB 与 INS 内核,双模块独立演进、最小侵入
java·开发语言
抓不住时间的沙1 小时前
butterfly主题美化,打造属于自己的个性博客
java·开发语言·前端·javascript·node.js·github