Puoi richiedere ulteriori dettagli su una determinata struttura o punto interesse utilizzando la sua posizione ID e la creazione di un Richiesta Place Details (nuova) Place Details (Novità) rende più completi informazioni sul luogo indicato, ad esempio indirizzo completo, numero di telefono numero, valutazione degli utenti e recensioni.
Esistono molti modi per ottenere un ID luogo. Puoi utilizzare:
Richieste Place Details (nuove)
Puoi richiedere i dettagli del luogo chiamando
PlacesClient.fetchPlace()
e il passaggio di un
FetchPlaceRequest
contenente un ID luogo e un elenco di campi, nonché
come 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 Place Details (nuove)
Place Details (Nuovo) restituisce i dati sotto forma di
Place
, che include solo i campi che hai richiesto utilizzando il campo
elenco predefinito. I risultati relativi ai dati sui luoghi non possono essere vuoti, quindi solo i risultati relativi ai luoghi
con dati (ad esempio, se un luogo richiesto non ha foto,
foto non sarà presente nel risultato).
Per accedere ai campi di dati, richiama il metodo
.
Ad esempio, per accedere al nome del luogo, chiama getName()
.
Parametri obbligatori
I parametri richiesti per
FetchPlaceRequest
sono:
-
ID luogo
Un identificatore testuale che identifica in modo univoco un luogo, restituito da un Ricerca testuale (novità) Ricerca nelle vicinanze (novità) oppure Completamento automatico (novità). Per ulteriori informazioni sugli ID luogo, consulta panoramica di Place ID.
-
Elenco campi
Quando richiedi un luogo, devi specificare i dati del luogo da restituire. A esegui questa operazione, trasmetti un elenco di valori
Place.Field
che specifica i dati da restituire. Non esiste un elenco predefinito di nella risposta.Gli elenchi di campi sono una buona prassi di progettazione per garantire di dati non necessari, così da evitare tempi di elaborazione non necessari addebiti di fatturazione.Questo elenco è importante perché influisce sul costo per ogni richiesta. Per ulteriori informazioni, vedi Utilizzo e fatturazione.
Specifica uno o più dei seguenti campi:
I seguenti campi attivano lo SKU Place Details (solo ID):
Place.Field.ID
,Place.Field.NAME
,Place.Field.PHOTO_METADATAS
I seguenti campi attivano lo SKU Place Details (solo posizione):
Place.Field.ADDRESS_COMPONENTS
,Place.Field.ADDRESS
,Place.Field.LAT_LNG
,Place.Field.PLUS_CODE
,Place.Field.TYPES
,Place.Field.VIEWPORT
I seguenti campi attivano lo SKU Place Details (di base):
Place.Field.BUSINESS_STATUS
,Place.Field.ICON_BACKGROUND_COLOR
,Place.Field.ICON_URL
,Place.Field.UTC_OFFSET
,Place.Field.WHEELCHAIR_ACCESSIBLE_ENTRANCE
I seguenti campi attivano lo SKU Place Details (Advanced):
Place.Field.CURRENT_OPENING_HOURS
,Place.Field.SECONDARY_OPENING_HOURS
,Place.Field.PHONE_NUMBER
,Place.Field.PRICE_LEVEL
,Place.Field.RATING
,Place.Field.OPENING_HOURS
,Place.Field.USER_RATINGS_TOTAL
,Place.Field.WEBSITE_URI
I seguenti campi attivano lo SKU Place Details (preferito):
Place.Field.CURBSIDE_PICKUP
,Place.Field.DELIVERY
,Place.Field.DINE_IN
,Place.Field.EDITORIAL_SUMMARY
,Place.Field.RESERVABLE
,Place.Field.REVIEWS
,Place.Field.SERVES_BEER
,Place.Field.SERVES_BREAKFAST
,Place.Field.SERVES_BRUNCH
,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 codice CLDR a due caratteri. Non esiste un valore predefinito.
Se il nome del paese nel campo
Place.Field.ADDRESS
nella risposta corrisponde alregionCode
, il codice paese è omesso daPlace.Field.ADDRESS
.La maggior parte dei codici CLDR è identica ai codici ISO 3166-1, con alcune degne di nota. Ad esempio, il ccTLD del Regno Unito è "uk" (.co.uk) mentre il codice ISO 3166-1 è "gb" (tecnicamente per persona giuridica del "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 dall'utente che monitorano Chiamate di completamento automatico (nuove) come "sessioni". Il completamento automatico (novità) utilizza i token di sessione per Raggruppare le fasi di query e selezione del luogo di una ricerca con completamento automatico di un utente in una sessione discreta ai fini della fatturazione. I token di sessione vengono passati a Place Details (novità) che seguono le chiamate del completamento automatico (nuove). Per ulteriori informazioni, vedi Token di sessione.
Per impostare il parametro del token di sessione, chiama il metodo
setSessionToken()
durante la creazione dell'oggettoFetchPlaceRequest
.
Esempio di Place Details
Nell'esempio seguente vengono richiesti i campi ID
, NAME
e ADDRESS
per
Empire State Building a New York City.
// 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.NAME, Place.Field.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);