m
Object-c 根据经度纬度计算两点间的距离
通过简单的数学方法就能轻松地根据经度纬度计算两点间的距离(由于在项目中用到了,所以记录了下来)以下是实现方法:
/**
* 获取两点经纬度地址的方法返回的单位是公里
*
* @param latA A点的纬度
* @param lngA A点的经度
* @param latB B点的纬度
* @param lngB B点的经度
*
* @return A,B连点的距离
*/
+(double) getDistanceLatA:(double)latA
lngA:(double)lngA
latB:(double)latB
lngB:(double)lngB{
double radLat1 = [self rad:latA ];
double radLat2 = [self rad:latB ];
double a = radLat1 - radLat2;
double b = [self rad:lngA] - [self rad:lngB];
double s = 2 * sin(sqrt(pow(sin(a /2), 2)
+cos(radLat1) * cos(radLat2)
*pow(sin(b /2), 2)));
s = s * EARTH_RADIUS;
s = s*1000;
double c = (round((s))/10)*10 /1000.0;
return c;
}