Puoi richiedere maggiori dettagli su un'attività o un punto di interesse specifico utilizzando il relativo ID luogo ed effettuando una richiesta di dettagli luogo (nuovo) . Dettagli luogo (nuovo) restituisce informazioni più complete sul luogo indicato, come indirizzo completo, numero di telefono, valutazione degli utenti e recensioni.
Esistono molti modi per ottenere un ID luogo. Puoi utilizzare:
Richieste Place Details (New)
Puoi richiedere i dettagli del luogo chiamando
PlacesClient.fetchPlace()
e passando un oggetto
FetchPlaceRequest
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 di Place Details (New)
Place Details (New) restituisce i dati sotto forma di oggetto
Place
, che include solo i campi richiesti utilizzando l'elenco
dei campi. I risultati dei dati sui luoghi non possono essere vuoti, quindi vengono restituiti solo i risultati sui 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
metodo corrispondente.
Ad esempio, per accedere al nome del luogo, chiama getName()
.
Parametri obbligatori
I parametri obbligatori per
FetchPlaceRequest
sono:
-
ID luogo
Un identificatore testuale che identifica in modo univoco un luogo, restituito da Text Search (New), Nearby Search (New) o Autocomplete (New). Per saperne di più sugli ID luogo, consulta la panoramica degli ID luogo.
-
Elenco dei campi
Quando richiedi un luogo, devi specificare quali dati del luogo restituire. Per farlo, passa un elenco di valori
Place.Field
che specificano i dati da restituire. Nella risposta non è presente un elenco predefinito di campi restituiti.Gli elenchi di campi sono una buona pratica di progettazione per assicurarsi di non richiedere dati non necessari, il che aiuta a evitare tempi di elaborazione e addebito non necessari.Questo elenco è un aspetto importante da considerare perché influisce sul costo di ogni richiesta. Per ulteriori informazioni, vedi Utilizzo e fatturazione.
Specifica uno o più dei seguenti campi:
I seguenti campi attivano lo SKU ID solo di Place Details Essentials:
Place.Field.ID
Place.Field.PHOTO_METADATAS
Place.Field.RESOURCE_NAME
I seguenti campi attivano lo SKU Place Details Essentials:
Place.Field.ADDRESS_COMPONENTS
ADR_FORMAT_ADDRESS
Place.Field.FORMATTED_ADDRESS
*
* Utilizza al posto diPlace.Field.ADDRESS
(deprecato).
Place.Field.LOCATION
*
* Utilizza al posto diPlace.Field.LAT_LNG
(deprecato).
Place.Field.PLUS_CODE
Place.Field.SHORT_FORMATTED_ADDRESS
Place.Field.TYPES
Place.Field.VIEWPORT
I seguenti campi attivano lo SKU Place Details Pro:
Place.Field.ACCESSIBILITY_OPTIONS
*
* Utilizza al posto diPlace.Field.WHEELCHAIR_ACCESSIBLE_ENTRANCE
(deprecato).
Place.Field.BUSINESS_STATUS
Place.Field.DISPLAY_NAME
*
* Utilizza al posto diPlace.Field.NAME
, che è deprecato.
Place.Field.GOOGLE_MAPS_URI
Place.Field.ICON_BACKGROUND_COLOR
Place.Field.ICON_MASK_URL
*
* Utilizza al posto diPlace.Field.ICON_URL
(deprecato).
Place.Field.PRIMARY_TYPE
Place.Field.PRIMARY_TYPE_DISPLAY_NAME
Place.Field.SUB_DESTINATIONS
Place.Field.UTC_OFFSET
I seguenti campi attivano lo SKU Place Details Enterprise:
Place.Field.CURRENT_OPENING_HOURS
Place.Field.CURRENT_SECONDARY_OPENING_HOURS
Place.Field.INTERNATIONAL_PHONE_NUMBER
*
* Utilizza al posto diPlace.Field.PHONE_NUMBER
, che è deprecato.
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
*
* Utilizza al posto diPlace.Field.USER_RATINGS_TOTAL
, che è deprecato.
Place.Field.WEBSITE_URI
I seguenti campi attivano lo SKU Place Details Enterprise Plus:
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 esiste un 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 sono identici ai codici ISO 3166-1, con alcune eccezioni degne di nota. Ad esempio, il TLD specifico per paese del Regno Unito è "uk" (.co.uk), mentre il suo 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 (nuovo) come "sessioni". Completamento automatico (nuovo) utilizza i token di sessione per raggruppare le fasi di selezione della query e del luogo di una ricerca di completamento automatico dell'utente in una sessione discreta ai fini della fatturazione. I token di sessione vengono passati alle chiamate a Place Details (New) che seguono le chiamate ad Autocomplete (New). Per maggiori informazioni, consulta la sezione Token di sessione.
Per impostare il parametro del token di sessione, chiama il metodo
setSessionToken()
durante la creazione dell'oggettoFetchPlaceRequest
.
Esempio di Place Details
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);