La siguiente función calcula la distancia entre dos puntos utilizando
public const double EarthRadius = 6371;
        /// <summary>
        /// Returns the distance between two geocoordinates
        /// </summary>
        /// <param name="point1"></param>
        /// <param name="point2"></param>
        /// <returns></returns>
        public static double GetDistance(GeoCoordinate point1, GeoCoordinate point2) {
            double result = 0;
            double Lat = (point2.Latitude - point1.Latitude) * (Math.PI / 180);
            double Lon = (point2.Longitude - point1.Longitude) * (Math.PI / 180);
            double a = Math.Sin(Lat / 2) * Math.Sin(Lat / 2) +
                    Math.Cos(point1.Latitude *(Math.PI / 180)) * Math.Cos(point2.Latitude*(Math.PI / 180)) *
                    Math.Sin(Lon / 2) * Math.Sin(Lon / 2);
            double c = 2 * Math.Atan2(Math.Sqrt(a), Math.Sqrt(1 - a));
            result  = EarthRadius  * c;
            return result;
        }
