)?> GetPointAsync(
            this IGeocodioClient geocodio,
            string address,
            CancellationToken cancellationToken)
        {
            if (!address.HasValue())
            {
                return(null);
            }

            var response = await geocodio.GeocodeAsync(address, Enumerable.Empty <string>(), cancellationToken).ConfigureAwait(false);

            if (response.ResponseStatus != ResponseStatus.Success)
            {
                return(null);
            }

            var result = response.Results.OrderByDescending(
                _ => _.Accuracy).FirstOrDefault();

            if (result is null)
            {
                return(null);
            }

            return(
                result.Location.Latitude,
                result.Location.Longitude
                );
        }
Ejemplo n.º 2
0
        public async Task GetAsync()
        {
            var response = await _geocodio.GeocodeAsync("1600 Pennsylvania Ave NW, Washington, DC 20500", CancellationToken.None).ConfigureAwait(false);

            var result = response.Results[0];

            Assert.Equal(1, result.Accuracy);
            Assert.Equal(AccuracyType.Rooftop, result.AccuracyType);
            Assert.Equal(38.897675M, result.Location.Latitude);
            Assert.Equal(-77.036547M, result.Location.Longitude);
        }