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

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

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