public async Task <string> GetDirections(
            GeoCoordinateDto origin,
            IEnumerable <GeoCoordinateDto> wayPoints,
            GeoCoordinateDto destination)
        {
            var    baseUrlFormat  = GetBaseUrlFormat(DirectionService);
            string wayPointString = string
                                    .Join("|", wayPoints
                                          .Select(wp => $"via:{wp.ToString()}"));

            var directionUrl = string.Format(baseUrlFormat, origin.ToString(), destination.ToString(), wayPointString);

            return(await GetResponse(directionUrl));
        }
        public async Task <string> GetDuration(GeoCoordinateDto currentPoint, IEnumerable <GeoCoordinateDto> wayPoints)
        {
            var    baseUrlFormat  = GetBaseUrlFormat(DurationService);
            string wayPointString = string
                                    .Join("|", wayPoints.Select(wp => wp.ToString()));

            if (string.IsNullOrWhiteSpace(wayPointString))
            {
                return(null);
            }

            var durationUrl = string.Format(baseUrlFormat, currentPoint.ToString(), wayPointString);

            return(await GetResponse(durationUrl));
        }