通过地球上的两点经纬度计算物理距离,单位是米
double rad(double d) { return d * M_PI / 180.0; } /** * 获取距离 * @param lon1 * @param lat1 * @param lon2 * @param lat2 * @return */ double distance(double lon1,double lat1,double lon2, double lat2) { double radLat1 = rad(lat1); double radLat2 = rad(lat2); double a = radLat1 - radLat2; double b = rad(lon1) - rad(lon2); double s = 2 * asin(sqrt(pow(sin(a/2),2)+cos(radLat1)*cos(radLat2)*pow(sin(b/2),2))); s = s * 6378137; return s; }
根据两点的经纬度计算距离C