Puoi richiedere ulteriori dettagli su un determinato esercizio o punto di interesse utilizzando il relativo ID luogo e inviando una richiesta di Dettagli luogo (nuova). Dettagli sul luogo (novità) restituisce informazioni più complete sul luogo indicato, ad esempio indirizzo completo, numero di telefono, valutazione e recensioni degli utenti.
Esistono molti modi per ottenere un ID luogo. Puoi utilizzare:
Richieste Place Details (nuove)
Puoi richiedere i dettagli dei luoghi chiamando
PlacesClient.fetchPlace()
e passando un
FetchPlaceRequest
oggetto contenente un ID luogo e un elenco di campi, nonché eventuali parametri facoltativi:
// Define a place ID.
final String placeId = "INSERT_PLACE_ID_HERE";
// Specify the list of fields to return.
final List<Place.Field> placeFields = Arrays.asList("INSERT_PLACE_FIELDS_HERE");
// Construct a request object, passing the place ID and field list.
final FetchPlaceRequest request = FetchPlaceRequest.newInstance(placeId, placeFields);
// Pass the request object and make the request
Task<FetchPlaceResponse> placeTask = placesClient.fetchPlace(request);
Risposte a Place Details (Nuovo)
La richiesta Place Details (Nuova) restituisce i dati sotto forma di oggetto
Place
che include solo i campi richiesti utilizzando l'elenco di campi. I risultati dei dati dei luoghi non possono essere vuoti, pertanto vengono restituiti solo i risultati dei luoghi con dati (ad esempio, se un luogo richiesto non ha foto, il campo delle foto non sarà presente nel risultato).
Per accedere ai campi di dati, chiama il corrispondente
metodo.
Ad esempio, per accedere al nome del luogo, chiama getName()
.
Parametri obbligatori
I parametri obbligatori per
FetchPlaceRequest
sono:
-
ID luogo
Un identificatore di testo che identifica in modo univoco un luogo, restituito da una ricerca di testo (novità), ricerca nelle vicinanze (novità) o completamento automatico (novità). Per saperne di più sugli ID luogo, consulta la panoramica degli ID luogo.
-
Elenco di campi
Quando richiedi un luogo, devi specificare i dati del luogo da restituire. Per farlo, passa un elenco di valori
Place.Field
che specificano i dati da restituire. Non è presente un elenco predefinito dei campi restituiti nella risposta.Gli elenchi di campi sono una buona prassi di progettazione per assicurarti di non richiedere dati non necessari, il che consente di evitare tempi di elaborazione e costi di fatturazione non necessari.Questo elenco è un aspetto importante da considerare perché influisce sul costo di ogni richiesta. Per ulteriori informazioni, consulta Utilizzo e fatturazione.
Specifica uno o più dei seguenti campi:
I seguenti campi attivano lo SKU Dettagli sui luoghi (solo ID):
Place.Field.DISPLAY_NAME
,Place.Field.ID
,Place.Field.PHOTO_METADATAS
,Place.Field.RESOURCE_NAME
I seguenti campi attivano lo SKU Dettagli sui luoghi (solo posizione):
Place.Field.ADDRESS_COMPONENTS
,ADR_FORMAT_ADDRESS
,Place.Field.FORMATTED_ADDRESS
,Place.Field.LOCATION
,Place.Field.PLUS_CODE
,Place.Field.SHORT_FORMATTED_ADDRESS
,Place.Field.TYPES
,Place.Field.VIEWPORT
I seguenti campi attivano lo SKU di Places Details (di base):
Place.Field.ACCESSIBILITY_OPTIONS
,Place.Field.BUSINESS_STATUS
,Place.Field.GOOGLE_MAPS_URI
,Place.Field.ICON_BACKGROUND_COLOR
,Place.Field.ICON_MASK_URL
,Place.Field.PRIMARY_TYPE
,Place.Field.PRIMARY_TYPE_DISPLAY_NAME
,Place.Field.SUB_DESTINATIONS
,Place.Field.UTC_OFFSET
I seguenti campi attivano lo SKU Dettagli dei luoghi (avanzato):
Place.Field.CURRENT_OPENING_HOURS
,Place.Field.CURRENT_SECONDARY_OPENING_HOURS
Place.Field.INTERNATIONAL_PHONE_NUMBER
,Place.Field.NATIONAL_PHONE_NUMBER
Place.Field.OPENING_HOURS
,Place.Field.PRICE_LEVEL
,Place.Field.RATING
,Place.Field.SECONDARY_OPENING_HOURS
,Place.Field.USER_RATING_COUNT
Place.Field.WEBSITE_URI
I seguenti campi attivano lo SKU Dettagli dei luoghi (opzione preferita):
Place.Field.ALLOWS_DOGS
,Place.Field.CURBSIDE_PICKUP
,Place.Field.DELIVERY
,Place.Field.DINE_IN
,Place.Field.EDITORIAL_SUMMARY
,Place.Field.EV_CHARGE_OPTIONS
,Place.Field.FUEL_OPTIONS
,Place.Field.GOOD_FOR_CHILDREN
,Place.Field.GOOD_FOR_GROUPS
,Place.Field.GOOD_FOR_WATCHING_SPORTS
,Place.Field.LIVE_MUSIC
,Place.Field.MENU_FOR_CHILDREN
,Place.Field.OUTDOOR_SEATING
,Place.Field.PARKING_OPTIONS
,Place.Field.PAYMENT_OPTIONS
,Place.Field.RESERVABLE
,Place.Field.RESTROOM
,Place.Field.REVIEWS
,Place.Field.SERVES_BEER
,Place.Field.SERVES_BREAKFAST
,Place.Field.SERVES_BRUNCH
,Place.Field.SERVES_COCKTAILS
,Place.Field.SERVES_COFFEE
,Place.Field.SERVES_DESSERT
,Place.Field.SERVES_DINNER
,Place.Field.SERVES_LUNCH
,Place.Field.SERVES_VEGETARIAN_FOOD
,Place.Field.SERVES_WINE
,Place.Field.TAKEOUT
Parametri facoltativi
I parametri facoltativi per
FetchPlaceRequest
sono:
Codice regione
Il codice regione utilizzato per formattare la risposta, specificato come valore di un codice CLDR a due caratteri. Non è presente alcun valore predefinito.
Se il nome del paese del campo
Place.Field.FORMATTED_ADDRESS
nella risposta corrisponde aregionCode
, il codice paese viene omesso daPlace.Field.FORMATTED_ADDRESS
.La maggior parte dei codici CLDR è identica ai codici ISO 3166-1, con alcune eccezioni significative. Ad esempio, il TLD di primo livello del Regno Unito è "uk" (.co.uk), mentre il codice ISO 3166-1 è"gb " (tecnicamente per l'entità "Regno Unito di Gran Bretagna e Irlanda del Nord"). Il parametro può influire sui risultati in base alla legge vigente.
Per impostare il parametro del codice regione, chiama il metodo
setRegionCode()
durante la creazione dell'oggettoFetchPlaceRequest
.-
Token di sessione
I token di sessione sono stringhe generate dagli utenti che monitorano le chiamate di completamento automatico (nuove) come "sessioni". La funzionalità di completamento automatico (nuova) utilizza i token di sessione per agrupare le fasi di query e selezione dei luoghi di una ricerca di completamento automatico dell'utente in una sessione distinta ai fini della fatturazione. I token di sessione vengono passati alle chiamate Place Details (New) che seguono le chiamate Autocomplete (New). Per ulteriori informazioni, consulta Token di sessione.
Per impostare il parametro token sessione, chiama il metodo
setSessionToken()
durante la creazione dell'oggettoFetchPlaceRequest
.
Esempio di dettagli del luogo
L'esempio seguente richiede i campi ID
, DISPLAY_NAME
e FORMATTED_ADDRESS
per l'Empire State Building a New York.
// Define a place ID.
final String placeId = "ChIJaXQRs6lZwokRY6EFpJnhNNE";
// Specify the list of fields to return.
final List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.DISPLAY_NAME, Place.Field.FORMATTED_ADDRESS);
// Construct a request object, passing the place ID and field list.
final FetchPlaceRequest request = FetchPlaceRequest.newInstance(placeId, placeFields);
// Pass the request object and make the request
Task<FetchPlaceResponse> placeTask = placesClient.fetchPlace(request);