/// <summary> /// 获取两个坐标之间的距离 /// </summary> /// <param name="lat1">第一个坐标的X</param> /// <param name="lng1">第一个坐标的Y</param> /// <param name="lat2">第二个坐标的X</param> /// <param name="lng2">第二个坐标的Y</param> /// <returns>两个坐标之间的距离</returns> public static double GetDistance(double lat1, double lng1, double lat2, double lng2) { try { var b = Math.PI / 180; var c = Math.Sin((lat2 - lat1) * b / 2); var d = Math.Sin((lng2 - lng1) * b / 2); var a = c * c + d * d * Math.Cos(lat1 * b) * Math.Cos(lat2 * b); return 12756274 * Math.Atan2(Math.Sqrt(a), Math.Sqrt(1 - a)); } catch (Exception) { return 0; } }