コード例 #1
0
                                      )?> 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
                );
        }
コード例 #2
0
ファイル: Geocode.cs プロジェクト: arex388/Arex388.Geocodio
        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);
        }