google地图经纬度小数点后每一位数字精确到多少公里?比如 台北市经纬度坐标  25.03763688853221, 121.56449317932129小数点后面每一位如何换算成地面距离?25.03763688853221和25.03763688853220差多少米?厘米?

解决方案 »

  1.   


    private const double EARTH_RADIUS = 6378.137; //地球半径
    private static double rad(double d)
    {
       return d * Math.PI / 180.0;

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