首页
技术知识库
Task工作计划
网站简介
DON框架
后台管理
文章分类
JAVA
框架知识
操作系统
容器相关
数据库层
优化技术
界面编程
网络编程
开发工具
GO语言
其他
读书随笔
观影随笔
每日随笔
APP
地图上根据坐标计算两点距离java版
所属分类
:[JAVA] |
创建时间
:2014-12-11 |
文章属性
:原创 |
文章来源
:http://windfly.cn |
作者
:windfly
``` /** * 计算地图上两个点间距离,单位,米 * * @param x1 lon * @param y1 lat * @param x2 * @param y2 * @return */ public static double distance(double x1, double y1, double x2, double y2) { double EARTH_RADIUS = 6378.137;// 公里 double radLat1 = y1 * 0.017453292519943295;// 0.017453292519943295 = // Math.PI / 180.0; double radLon1 = x1 * 0.017453292519943295; double radLat2 = y2 * 0.017453292519943295; double radLon2 = x2 * 0.017453292519943295; double a = radLat1 - radLat2; double b = radLon1 - radLon2; 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))) * EARTH_RADIUS; double result = Math.round(s * 10000000.0) / 10000.0; return result; } ```
返回