搜索热词
下面是编程之家 jb51.cc 通过网络收集整理的代码片段。
编程之家小编现在分享给大家,也给大家做个参考。
//
// main.c
// Distance
//
//
#include
#include
#define PI 3.1415926
#define EARTH_RADIUS 6378.137 //地球近似半径
double radian(double d);
double get_distance(double lat1,double lng1,double lat2,double lng2);
// 求弧度
double radian(double d)
{
return d * PI / 180.0; //角度1˚ = π / 180
}
//计算距离
double get_distance(double lat1,double lng2)
{
double radLat1 = radian(lat1);
double radLat2 = radian(lat2);
double a = radLat1 - radLat2;
double b = radian(lng1) - radian(lng2);
double dst = 2 * asin((sqrt(pow(sin(a / 2),2) + cos(radLat1) * cos(radLat2) * pow(sin(b / 2),2) )));
dst = dst * EARTH_RADIUS;
dst&