c#算兩個火星坐標的距離(高德or百度)


/// <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;
            }
        }

以上代碼是從高德的js里面扒下來的

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM