计算两个经纬度之间的直线距离-C# 版
ITPOW2016/11/3 16:00:29
double lon1 = 113.264399; double lat1 = 23.154322; double lon2 = 113.153728; double lat2 = 23.059122; var a = lon1 * Math.PI / 180.0 - lon2 * Math.PI / 180.0; var radLat1 = lat1 * Math.PI / 180.0;; var radLat2 = lat2 * Math.PI / 180.0;; var b = radLat1 - radLat2; var s = 2 * Math.Asin(Math.Sqrt(Math.Pow(Math.Sin(b / 2), 2) + Math.Cos(radLat1)*Math.Cos(radLat2)*Math.Pow(Math.Sin(a / 2), 2))); s = s * 6378.137 ; // 地球半径,单位千米 s = Math.Round(s * 10000) / 10000; MessageBox.Show(s.ToString());
如上代码:经纬度来自百度地图的经纬度,计算出来的结果与百度测距的结果一致。
<<返回首页<<