您的位置:首页 > 移动开发 > Objective-C

Object-c 根据经度纬度计算两点间的距离

2011-12-13 21:11 381 查看
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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: