Esempi per l’API Places per il servizio di posizione con SDK per Java 2.x - Esempi di codice per SDK AWS

Sono disponibili altri esempi per SDK AWS nel repository GitHub della documentazione degli esempi per SDK AWS.

Esempi per l’API Places per il servizio di posizione con SDK per Java 2.x

Gli esempi di codice seguenti mostrano come eseguire azioni e implementare scenari comuni utilizzando AWS SDK for Java 2.x con l’API Places per il servizio di posizione.

Le azioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le operazioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.

Ogni esempio include un link al codice sorgente completo, in cui vengono fornite le istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

L’esempio di codice seguente mostra come utilizzare ReverseGeocode.

SDK per Java 2.x
Nota

Ulteriori informazioni su GitHub. Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel Repository di esempi di codice AWS.

/** * Performs reverse geocoding using the AWS Geo Places API. * Reverse geocoding is the process of converting geographic coordinates (latitude and longitude) to a human-readable address. * This method uses the latitude and longitude of San Francisco as the input, and prints the resulting address. */ public CompletableFuture<ReverseGeocodeResponse> reverseGeocode() { double latitude = 37.7749; // San Francisco double longitude = -122.4194; logger.info("Use latitude 37.7749 and longitude -122.4194"); // AWS expects [longitude, latitude]. List<Double> queryPosition = List.of(longitude, latitude); ReverseGeocodeRequest request = ReverseGeocodeRequest.builder() .queryPosition(queryPosition) .build(); CompletableFuture<ReverseGeocodeResponse> futureResponse = getGeoPlacesClient().reverseGeocode(request); return futureResponse.whenComplete((response, exception) -> { if (exception != null) { Throwable cause = exception.getCause(); if (cause instanceof software.amazon.awssdk.services.geoplaces.model.ValidationException) { throw new CompletionException("A validation error occurred: " + cause.getMessage(), cause); } throw new CompletionException("Error performing reverse geocoding", exception); } response.resultItems().forEach(result -> logger.info("The address is: " + result.address().label()) ); }); }
  • Per informazioni dettagliate sull’API, consulta ReverseGeocode nella documentazione di riferimento dell’API AWS SDK for Java 2.x.

L’esempio di codice seguente mostra come utilizzare SearchNearby.

SDK per Java 2.x
Nota

Ulteriori informazioni su GitHub. Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel Repository di esempi di codice AWS.

/** * Performs a nearby places search based on the provided geographic coordinates (latitude and longitude). * The method sends an asynchronous request to search for places within a 1-kilometer radius of the specified location. * The results are processed and printed once the search completes successfully. */ public CompletableFuture<SearchNearbyResponse> searchNearBy() { double latitude = 37.7749; // San Francisco double longitude = -122.4194; List<Double> queryPosition = List.of(longitude, latitude); // Set up the request for searching nearby places. SearchNearbyRequest request = SearchNearbyRequest.builder() .queryPosition(queryPosition) // Set the position .queryRadius(1000L) // Radius in meters (1000 meters = 1 km). .build(); return getGeoPlacesClient().searchNearby(request) .whenComplete((response, exception) -> { if (exception != null) { Throwable cause = exception.getCause(); if (cause instanceof software.amazon.awssdk.services.geoplaces.model.ValidationException) { throw new CompletionException("A validation error occurred: " + cause.getMessage(), cause); } throw new CompletionException("Error performing place search", exception); } // Process the response and print the results. response.resultItems().forEach(result -> { logger.info("Place Name: " + result.placeType().name()); logger.info("Address: " + result.address().label()); logger.info("Distance: " + result.distance() + " meters"); logger.info("-------------------------"); }); }); }
  • Per informazioni dettagliate sull’API, consulta SearchNearby nella documentazione di riferimento dell’API AWS SDK for Java 2.x.

L’esempio di codice seguente mostra come utilizzare SearchText.

SDK per Java 2.x
Nota

Ulteriori informazioni su GitHub. Trova l’esempio completo e scopri di più sulla configurazione e l’esecuzione nel Repository di esempi di codice AWS.

/** * Searches for a place using the provided search query and prints the detailed information of the first result. * * @param searchQuery the search query to be used for the place search (ex, coffee shop) */ public CompletableFuture<Void> searchText(String searchQuery) { double latitude = 37.7749; // San Francisco double longitude = -122.4194; List<Double> queryPosition = List.of(longitude, latitude); SearchTextRequest request = SearchTextRequest.builder() .queryText(searchQuery) .biasPosition(queryPosition) .build(); return getGeoPlacesClient().searchText(request) .thenCompose(response -> { if (response.resultItems().isEmpty()) { logger.info("No places found."); return CompletableFuture.completedFuture(null); } // Get the first place ID String placeId = response.resultItems().get(0).placeId(); logger.info("Found Place with id: " + placeId); // Fetch detailed info using getPlace GetPlaceRequest getPlaceRequest = GetPlaceRequest.builder() .placeId(placeId) .build(); return getGeoPlacesClient().getPlace(getPlaceRequest) .thenAccept(placeResponse -> { logger.info("Detailed Place Information:"); logger.info("Name: " + placeResponse.placeType().name()); logger.info("Address: " + placeResponse.address().label()); if (placeResponse.foodTypes() != null && !placeResponse.foodTypes().isEmpty()) { logger.info("Food Types:"); placeResponse.foodTypes().forEach(foodType -> { logger.info(" - " + foodType); }); } else { logger.info("No food types available."); } logger.info("-------------------------"); }); }) .exceptionally(exception -> { Throwable cause = exception.getCause(); if (cause instanceof software.amazon.awssdk.services.geoplaces.model.ValidationException) { throw new CompletionException("A validation error occurred: " + cause.getMessage(), cause); } throw new CompletionException("Error performing place search", exception); }); }
  • Per informazioni dettagliate sull’API, consulta SearchText nella documentazione di riferimento dell’API AWS SDK for Java 2.x.