C# 通过GPS坐标,计算两点之间距离

之前在网上有很多这种计算的,但是代码都不怎么全。经过多方打听查询。找到完整代码。现将代码共享给大家。

有需要者觉得有用者欢迎使用。觉得用或简单的高手,请绕。

public static double GetDistance(double lat1, double lng1, double lat2, double lng2)

{

double radLat1 = rad(lat1);

double radLat2 = rad(lat2);

double a = radLat1 - radLat2;

double b = rad(lng1) - rad(lng2);

double s = 2 * Math.Asin(Math.Sqrt(Math.Pow(Math.Sin(a/2),2) +     Math.Cos(radLat1)*Math.Cos(radLat2)*Math.Pow(Math.Sin(b/2),2)));

s = s * EARTH_RADIUS;

s = Math.Round(s * 10000) / 10000;    return s;

}

之前很多地方没有这个RAD的代码,后面才找到。

private static double rad(double d)

{

return d * Math.PI / 180.0;

}

private const double EARTH_RADIUS = 6378.137;

上一篇:【游记】Noip2018


下一篇:RabbitMQ消息队列(五):Routing 消息路由