예제 #1
0
        public async Task <IActionResult> GetAsync(double latitude, double longitude)
        {
            var source = $"{Constants.General.SourcePrefixName}.api";

            try
            {
                ReverseGeocodeResult result = await _reverseGeocodeService
                                              .GetAsync(latitude, longitude)
                                              .ConfigureAwait(false);

                return(WrapperResponse.SuccessResult(HttpStatusCode.OK, result, source));
            }
            catch (KeyNotFoundException)
            {
                return(WrapperResponse.ErrorResult(
                           HttpStatusCode.NotFound,
                           "Could not reverse geocode coordinate",
                           source));
            }
            catch (Exception ex)
            {
                return(WrapperResponse.ErrorResult(
                           HttpStatusCode.InternalServerError,
                           ex.Message,
                           source));
            }
        }
예제 #2
0
        public async Task <ReverseGeocodeResult> GetAsync(double latitude, double longitude)
        {
            var token = _awsAuthenticationService.GetBearerToken(_awsOptions.AwsId, _awsOptions.AwsSecret);

            ReverseGeocodeResult result = await ReverseGeocodeToSeoId(token, latitude, longitude).ConfigureAwait(false);

            return(result ?? throw new KeyNotFoundException("Could not reverse geocode"));
        }
예제 #3
0
 public Result(SourceRecord source, ReverseGeocodeResult result)
 {
     Source        = source;
     GeocodeResult = result;
 }