计算两个经纬度之间的距离
这里用大圆算法进行计算。
double rad(double d)
{
return d * PI / 180.0;
}
//获取两点间经纬度距离 单位米
double GetDistance(double lat,double lon ,double lat1, double lng1)
{
double radLat1 = rad(lat1);
double radLat2 = rad(lat);
double a = radLat1 - radLat2;
double b = rad(lng1) - rad(lon);
double s = 2 * asin(sqrt(abs(pow(sin(a / 2), 2) + cos(radLat1) * cos(radLat2) * pow(sin(b / 2), 2))));
s = s * 6371.393;
s = s * 1000;
return s;
}
GetDistance 函数接受一个起点经纬度与终点经纬度,返回的单位是米(m)。