今天有个任务是在请求商家详情的时候需要求用户离商家的距离(也就是计算两经纬度之间的距离,套用了下面的公式解决了问题)
public class Distance {
PRivate final static double PI = 3.14159265358979323; // 圆周率 private final static double R = 6371229; // 地球的半径 /** * 获取两个经纬点的距离 * @param longt1 经度1 * @param lat1 纬度1 * @param longt2 经度2 * @param lat2 纬度2 * @return distance 直线距离 */ public static double getDistance(double longt1, double lat1, double longt2,double lat2) { double x, y, distance; x = (longt2 - longt1) * PI * R * Math.cos(((lat1 + lat2) / 2) * PI / 180) / 180; y = (lat2 - lat1) * PI * R / 180; distance = Math.hypot(x, y); return distance;}
}
新闻热点
疑难解答