在网上找了几个算法,算出来的数都是不正确的,哪位搞过这个,能给我一个算法吗?谢谢了。
解决方案 »
- 本人新手求教多线程问题!这是一段代码,当文件传输完毕怎么用线程打开第二个窗口!
- 利用ContextMenuStrip控件,用同样的方法,在按钮上能弹出右键菜单,而在MSHFlexGrid控件中点击右键为什么弹不出右键菜单呢?
- 学C# socket编程 要看什么书好
- DataFormatString格式化的问题?
- 菜鸟提问:Zedgraph(winform)中点击曲线获取横纵坐标值
- 开发客户端的程序,需要注意那几个方面的问题?请做过大虾给于支持.谢谢.
- 急救!关于字符串转换问题
- 怎么获取昨天的时间
- 最后三十分,请大家一定指教啊,如何实现水晶报表数据源的相对路径呢
- 通过反射动态SHOW出的窗体 怎么传递参数
- C# 里的指针用处大么???
- 用winfrom做的一个程序,用在触摸屏上,想把界面按钮做漂流,想请前辈指下方向,小弟先感谢了!
http://blog.csdn.net/fengyarongaa/article/details/6547772
/// <summary>
/// 地球半径
/// </summary>
private const double EARTH_RADIUS = 6378.137;
/// <summary>
/// 计算两点间的距离,传入两点的经度和纬度
/// </summary>
/// <param name="lat1"></param>
/// <param name="lng1"></param>
/// <param name="lat2"></param>
/// <param name="lng2"></param>
/// <returns></returns>
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;
} private static double rad(double d)
{
return d * Math.PI / 180.0;
}