Introduzione
Una volta ottenuto un ID luogo, puoi richiedere ulteriori dettagli su un'attività o un punto di interesse specifico avviando una richiesta Places Details (New). Una richiesta Place Details (New) 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:
- Ricerca di testo (nuova) o Ricerca nelle vicinanze (nuova)
- API Geocoding
- API Routes
- API Address Validation
- Completamento automatico (novità)
L'Explorer API ti consente di effettuare richieste in tempo reale per familiarizzare con l'API e le relative opzioni:
Richieste Place Details (New)
Una richiesta Place Details (New) è una richiesta HTTP GET nel formato:
https://places.googleapis.com/v1/places/PLACE_ID
Trasmetti tutti i parametri come parametri URL o nelle intestazioni come parte della richiesta GET. Ad esempio:
https://places.googleapis.com/v1/places/ChIJj61dQgK6j4AR4GeTYWZsKWw?fields=id,displayName&key=API_KEY
Oppure in un comando curl:
curl -X GET -H 'Content-Type: application/json' \ -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: id,displayName" \ https://places.googleapis.com/v1/places/ChIJj61dQgK6j4AR4GeTYWZsKWw
Risposte di Place Details (New)
Place Details (New) restituisce un oggetto JSON come risposta. Nella risposta:
- La risposta è rappresentata da un oggetto
Place
. L'oggettoPlace
contiene informazioni dettagliate sul luogo. - Il FieldMask passato nella richiesta specifica l'elenco dei campi
restituiti nell'oggetto
Place
.
L'oggetto JSON completo ha il seguente formato:
{ "name": "places/ChIJkR8FdQNB0VQRm64T_lv1g1g", "id": "ChIJkR8FdQNB0VQRm64T_lv1g1g", "displayName": { "text": "Trinidad" } ... }
Parametri obbligatori
-
FieldMask
Specifica l'elenco dei campi da restituire nella risposta creando una maschera del campo di risposta. Passa la maschera del campo di risposta al metodo utilizzando il parametro URL
$fields
ofields
oppure utilizzando l'intestazione HTTPX-Goog-FieldMask
. Nella risposta non è presente un elenco predefinito di campi restituiti. Se ometti la maschera del campo, il metodo restituisce un errore.Il mascheramento dei campi è una buona pratica di progettazione per assicurarsi di non richiedere dati non necessari, il che aiuta a evitare tempi di elaborazione e addebiti di fatturazione non necessari.
Specifica un elenco separato da virgole dei tipi di dati sui luoghi da restituire. Ad esempio, per recuperare il nome visualizzato e l'indirizzo del luogo.
X-Goog-FieldMask: displayName,formattedAddress
Utilizza
*
per recuperare tutti i campi.X-Goog-FieldMask: *
Specifica uno o più dei seguenti campi:
I seguenti campi attivano lo SKU ID solo di Place Details Essentials:
attributions
id
name
*
photos
* Il campo
name
contiene il nome della risorsa del luogo nel formato:places/PLACE_ID
. Per ottenere il nome testuale del luogo, richiedi il campodisplayName
nello SKU Pro.I seguenti campi attivano lo SKU Place Details Essentials:
addressComponents
addressDescriptor
*
adrFormatAddress
formattedAddress
location
plusCode
postalAddress
shortFormattedAddress
types
viewport
* I descrittori di indirizzo sono generalmente disponibili per i clienti in India e sono sperimentali altrove.I seguenti campi attivano lo SKU Place Details Pro:
accessibilityOptions
businessStatus
containingPlaces
displayName
googleMapsLinks
googleMapsUri
iconBackgroundColor
iconMaskBaseUri
primaryType
primaryTypeDisplayName
pureServiceAreaBusiness
subDestinations
utcOffsetMinutes
I seguenti campi attivano lo SKU Place Details Enterprise:
currentOpeningHours
currentSecondaryOpeningHours
internationalPhoneNumber
nationalPhoneNumber
priceLevel
priceRange
rating
regularOpeningHours
regularSecondaryOpeningHours
userRatingCount
websiteUri
I seguenti campi attivano lo SKU Place Details Enterprise + Atmosphere:
allowsDogs
curbsidePickup
delivery
dineIn
editorialSummary
evChargeAmenitySummary
evChargeOptions
fuelOptions
generativeSummary
goodForChildren
goodForGroups
goodForWatchingSports
liveMusic
menuForChildren
neighborhoodSummary
parkingOptions
paymentOptions
outdoorSeating
reservable
restroom
reviews
reviewSummary
routingSummaries
*
servesBeer
servesBreakfast
servesBrunch
servesCocktails
servesCoffee
servesDessert
servesDinner
servesLunch
servesVegetarianFood
servesWine
takeout
* Solo ricerca di testo e ricerca nelle vicinanze
-
placeId
Un identificatore testuale che identifica in modo univoco un luogo, restituito da una Ricerca di testo (nuova) o da una Ricerca nelle vicinanze (nuova). Per saperne di più sugli ID luogo, consulta la panoramica degli ID luogo.
La stringa
places/PLACE_ID
è anche chiamata nome della risorsa del luogo. Nella risposta a una richiesta Place Details (New), Nearby Search (New) e Text Search (New), questa stringa è contenuta nel camponame
della risposta. L'ID luogo autonomo è contenuto nel campoid
della risposta.
Parametri facoltativi
languageCode
La lingua in cui restituire i risultati.
- Consulta l'elenco delle lingue supportate. Google aggiorna spesso le lingue supportate, quindi questo elenco potrebbe non essere esaustivo.
-
Se
languageCode
non viene fornito, l'API utilizzaen
come valore predefinito. Se specifichi un codice lingua non valido, l'API restituisce un erroreINVALID_ARGUMENT
. - L'API fa del suo meglio per fornire un indirizzo stradale leggibile sia per l'utente sia per gli abitanti del luogo. Per raggiungere questo obiettivo, restituisce gli indirizzi stradali nella lingua locale, traslitterati in un sistema di scrittura leggibile dall'utente, se necessario, rispettando la lingua preferita. Tutti gli altri indirizzi vengono restituiti nella lingua preferita. Tutti i componenti dell'indirizzo vengono restituiti nella stessa lingua, scelta dal primo componente.
- Se un nome non è disponibile nella lingua preferita, l'API utilizza la corrispondenza più vicina.
- La lingua preferita ha una piccola influenza sull'insieme di risultati che l'API sceglie di restituire e sull'ordine in cui vengono restituiti. Il geocoder interpreta le abbreviazioni in modo diverso a seconda della lingua, ad esempio le abbreviazioni per i tipi di strade o i sinonimi che potrebbero essere validi in una lingua ma non in un'altra.
regionCode
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
formattedAddress
nella risposta corrisponde aregionCode
, il codice paese viene omesso daformattedAddress
. Questo parametro non ha alcun effetto suadrFormatAddress
, che include sempre il nome del paese, né sushortFormattedAddress
, che non lo include mai.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.
-
sessionToken
I token di sessione sono stringhe generate dall'utente che monitorano le chiamate Autocomplete (New) come "sessioni". Completamento automatico (nuovo) utilizza i token di sessione per raggruppare le fasi di query e selezione 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.
Esempio di Place Details (New)
L'esempio seguente richiede i dettagli di un luogo in base a
placeId
:
curl -X GET -H 'Content-Type: application/json' \ -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: id,displayName" \ https://places.googleapis.com/v1/places/ChIJj61dQgK6j4AR4GeTYWZsKWw
Tieni presente che l'intestazione X-Goog-FieldMask
specifica che la
risposta
contiene i seguenti campi di dati: id,displayName
.
La risposta è quindi nel formato:
{ "id": "ChIJj61dQgK6j4AR4GeTYWZsKWw", "displayName": { "text": "Googleplex", "languageCode": "en" } }
Aggiungi altri tipi di dati alla maschera del campo per restituire ulteriori informazioni.
Ad esempio, aggiungi formattedAddress,plusCode
per includere l'indirizzo e il plus code nella risposta:
curl -X GET -H 'Content-Type: application/json' \ -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: id,displayName,formattedAddress,plusCode" \ https://places.googleapis.com/v1/places/ChIJj61dQgK6j4AR4GeTYWZsKWw
La risposta ora è nel formato:
{ "id": "ChIJj61dQgK6j4AR4GeTYWZsKWw", "formattedAddress": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA", "plusCode": { "globalCode": "849VCWC7+RW", "compoundCode": "CWC7+RW Mountain View, CA, USA" }, "displayName": { "text": "Googleplex", "languageCode": "en" } }
Recupera i descrittori dell'indirizzo
I descrittori di indirizzo forniscono informazioni relazionali sulla posizione di un luogo, inclusi punti di riferimento nelle vicinanze e aree contenute.
L'esempio seguente mostra una richiesta di dettagli del luogo (nuovo) per un grande magazzino
in un centro commerciale di San Jose. In questo esempio, includi addressDescriptors
nella maschera del campo:
curl -X GET https://places.googleapis.com/v1/places/ChIJ8WvuSB7Lj4ARFyHppkxDRQ4 \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: name,displayName,addressDescriptor"
La risposta include il luogo specificato nella richiesta, un elenco di punti di riferimento nelle vicinanze e la loro distanza dal luogo, nonché un elenco di aree e la loro relazione di contenimento con il luogo:
{ "name": "places/ChIJ8WvuSB7Lj4ARFyHppkxDRQ4", "displayName": { "text": "Macy's", "languageCode": "en" }, "addressDescriptor": { "landmarks": [ { "name": "places/ChIJVVVVUB7Lj4ARXyb4HFVDV8s", "placeId": "ChIJVVVVUB7Lj4ARXyb4HFVDV8s", "displayName": { "text": "Westfield Valley Fair", "languageCode": "en" }, "types": [ "clothing_store", "department_store", "establishment", "food", "movie_theater", "point_of_interest", "restaurant", "shoe_store", "shopping_mall", "store" ], "spatialRelationship": "WITHIN", "straightLineDistanceMeters": 220.29175 }, { "name": "places/ChIJ62_oCR7Lj4AR_MGWkSPotD4", "placeId": "ChIJ62_oCR7Lj4AR_MGWkSPotD4", "displayName": { "text": "Nordstrom", "languageCode": "en" }, "types": [ "clothing_store", "department_store", "establishment", "point_of_interest", "shoe_store", "store" ], "straightLineDistanceMeters": 329.45178 }, { "name": "places/ChIJmx1c5x7Lj4ARJXJy_CU_JbE", "placeId": "ChIJmx1c5x7Lj4ARJXJy_CU_JbE", "displayName": { "text": "Monroe Parking Garage", "languageCode": "en" }, "types": [ "establishment", "parking", "point_of_interest" ], "straightLineDistanceMeters": 227.05153 }, { "name": "places/ChIJxcwBziHLj4ARUQLAvtzkRCM", "placeId": "ChIJxcwBziHLj4ARUQLAvtzkRCM", "displayName": { "text": "Studios Inn by Daiwa Living California Inc.", "languageCode": "en" }, "types": [ "establishment", "lodging", "point_of_interest", "real_estate_agency" ], "straightLineDistanceMeters": 299.9955 }, { "name": "places/ChIJWWIlNx7Lj4ARpe1E0ob-_GI", "placeId": "ChIJWWIlNx7Lj4ARpe1E0ob-_GI", "displayName": { "text": "Din Tai Fung", "languageCode": "en" }, "types": [ "establishment", "food", "point_of_interest", "restaurant" ], "straightLineDistanceMeters": 157.70943 } ], "areas": [ { "name": "places/ChIJb3F-EB7Lj4ARnHApQ_Hu1gI", "placeId": "ChIJb3F-EB7Lj4ARnHApQ_Hu1gI", "displayName": { "text": "Westfield Valley Fair", "languageCode": "en" }, "containment": "WITHIN" }, { "name": "places/ChIJXYuykB_Lj4AR1Ot8nU5q26Q", "placeId": "ChIJXYuykB_Lj4AR1Ot8nU5q26Q", "displayName": { "text": "Valley Fair", "languageCode": "en" }, "containment": "WITHIN" }, { "name": "places/ChIJtYoUX2DLj4ARKoKOb1G0CpM", "placeId": "ChIJtYoUX2DLj4ARKoKOb1G0CpM", "displayName": { "text": "Central San Jose", "languageCode": "en" }, "containment": "WITHIN" } ] } }
Prova
L'Explorer API ti consente di effettuare richieste di esempio per familiarizzare con l'API e le relative opzioni.
Seleziona l'icona API api sul lato destro della pagina.
(Facoltativo) Modifica i parametri della richiesta.
Seleziona il pulsante Esegui. Nella finestra di dialogo, scegli l'account che vuoi utilizzare per effettuare la richiesta.
Nel riquadro Explorer API, seleziona l'icona a schermo intero fullscreen per espandere la finestra di Explorer API.