Introduzione
Completamento automatico (nuovo) è un servizio web che restituisce previsioni di luoghi e query in risposta a una richiesta HTTP. Nella richiesta, specifica una stringa di ricerca di testo e i limiti geografici che controllano l'area di ricerca.
Il completamento automatico (novità) può trovare corrispondenze con parole intere e sottostringhe dell'input, risolvendo nomi di luoghi, indirizzi e plus code. Le applicazioni possono quindi inviare query mentre l'utente digita, per fornire previsioni di luoghi e query al volo.
La risposta di Autocomplete (New) può contenere due tipi di previsioni:
- Previsioni dei luoghi: luoghi, come attività, indirizzi e punti di interesse, in base alla stringa di testo inserita e all'area di ricerca specificate. I suggerimenti sui luoghi vengono restituiti per impostazione predefinita.
- Previsioni delle query: stringhe di query corrispondenti alla stringa di testo inserita e
all'area di ricerca. Le previsioni delle query non vengono restituite per impostazione predefinita. Utilizza il parametro di richiesta
includeQueryPredictions
per aggiungere previsioni di query alla risposta.
Ad esempio, chiami Autocomplete (New) utilizzando come input una stringa che contiene un input parziale dell'utente, "Sicilian piz", con l'area di ricerca limitata a San Francisco, CA. La risposta contiene quindi un elenco di previsioni sui luoghi che corrispondono alla stringa di ricerca e all'area di ricerca, ad esempio il ristorante chiamato "Sicilian Pizza Kitchen", insieme ai dettagli sul luogo.
Le previsioni dei luoghi restituite sono progettate per essere presentate all'utente per aiutarlo a selezionare il luogo previsto. Puoi effettuare una richiesta Place Details (New) per ottenere maggiori informazioni su una qualsiasi delle previsioni di luoghi restituite.
La risposta può contenere anche un elenco di previsioni di query che corrispondono alla
stringa di ricerca e all'area di ricerca, ad esempio "Pizza e pasta siciliana". Ogni previsione di query nella
risposta include il campo text
contenente una stringa di ricerca di testo consigliata. Utilizza questa
stringa come input per
Ricerca di testo (nuova)
per eseguire una ricerca più dettagliata.
L'Explorer API ti consente di effettuare richieste live per familiarizzare con l'API e le relative opzioni:
Richieste di completamento automatico (nuovo)
Una richiesta di completamento automatico (nuovo) è una richiesta HTTP POST a un URL nel formato:
https://places.googleapis.com/v1/places:autocomplete
Trasmetti tutti i parametri nel corpo della richiesta JSON o nelle intestazioni nell'ambito della richiesta POST. Ad esempio:
curl -X POST -d '{ "input": "pizza", "locationBias": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 500.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Parametri supportati
Parametro |
Descrizione |
---|---|
Stringa di testo su cui eseguire la ricerca (parole intere, sottostringhe, nomi di luoghi, indirizzi, plus code). |
|
|
Elenco separato da virgole che specifica quali campi restituire nella risposta. |
Limita i risultati ai luoghi che corrispondono a uno dei cinque tipi principali specificati. |
|
Se è vero, include le attività senza una sede fisica (attività al domicilio del cliente). Il valore predefinito è false. |
|
Se è true, include sia le previsioni di luogo che di query nella risposta. Il valore predefinito è false. |
|
Array di massimo 15 codici paese di due caratteri per limitare i risultati. |
|
Offset carattere Unicode in base zero della posizione del cursore all'interno della stringa di input, che influenza le previsioni. Il valore predefinito è la lunghezza dell'input. |
|
Lingua preferita (codice IETF BCP-47) per i risultati. Il valore predefinito è l'intestazione Accept-Language o "en". |
|
Specifica un'area (cerchio o rettangolo) verso cui orientare la ricerca, consentendo risultati al di fuori dell'area. Non può essere utilizzato con locationRestriction. |
|
Specifica un'area (cerchio o rettangolo) per limitare i risultati di ricerca. I risultati al di fuori di questa area vengono esclusi. Non può essere utilizzato con locationBias. |
|
Punto di origine (latitudine, longitudine) utilizzato per calcolare la distanza in linea retta (distanceMeters) dalle destinazioni previste. |
|
Codice regione utilizzato per formattare la risposta e i suggerimenti (ad es. 'uk', 'fr'). |
|
Stringa generata dall'utente per raggruppare le chiamate Autocomplete in una sessione a fini di fatturazione. |
Informazioni sulla risposta
Il completamento automatico (nuovo) restituisce un oggetto JSON come risposta. Nella risposta:
- L'array
suggestions
contiene tutti i luoghi e le query previsti in ordine in base alla loro pertinenza percepita. Ogni luogo è rappresentato da un campoplacePrediction
e ogni query da un campoqueryPrediction
. - Un campo
placePrediction
contiene informazioni dettagliate su una singola previsione del luogo, inclusi l'ID luogo e la descrizione testuale. - Un campo
queryPrediction
contiene informazioni dettagliate su una singola previsione di query.
L'oggetto JSON completo ha il seguente formato:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko", "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko", "text": { "text": "Amoeba Music, Haight Street, San Francisco, CA, USA", "matches": [ { "endOffset": 6 }] }, ... }, { "queryPrediction": { "text": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 }] }, ... } ...] }
Parametri obbligatori
-
input
La stringa di testo su cui eseguire la ricerca. Specifica parole intere e sottostringhe, nomi di luoghi, indirizzi e plus code. Il servizio Autocomplete (New) restituisce corrispondenze candidate in base a questa stringa e ordina i risultati in base alla loro pertinenza percepita.
Parametri facoltativi
-
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 l'intestazione HTTP
X-Goog-FieldMask
.Specifica un elenco separato da virgole di campi di suggerimento da restituire. Ad esempio, per recuperare
suggestions.placePrediction.text.text
esuggestions.queryPrediction.text.text
del suggerimento.X-Goog-FieldMask: suggestions.placePrediction.text.text,suggestions.queryPrediction.text.text
Utilizza
*
per recuperare tutti i campi.X-Goog-FieldMask: *
-
includedPrimaryTypes
Un luogo può avere un solo tipo principale tra quelli elencati nella tabella A o nella tabella B. Ad esempio, il tipo principale potrebbe essere
"mexican_restaurant"
o"steak_house"
.Per impostazione predefinita, l'API restituisce tutti i luoghi in base al parametro
input
, indipendentemente dal valore del tipo principale associato al luogo. Limita i risultati a un determinato tipo principale o tipi principali passando il parametroincludedPrimaryTypes
.Utilizza questo parametro per specificare fino a cinque valori di tipo da Tabella A o Tabella B. Un luogo deve corrispondere a uno dei valori del tipo principale specificati per essere incluso nella risposta.
Questo parametro può includere anche uno dei seguenti valori:
(regions)
o(cities)
. La raccolta di tipi(regions)
filtra le aree o le suddivisioni, come quartieri e codici postali. La raccolta di tipi(cities)
filtra i luoghi che Google identifica come città.La richiesta viene rifiutata con un errore
INVALID_REQUEST
se:- Sono stati specificati più di cinque tipi.
- Viene specificato un tipo qualsiasi in aggiunta a
(cities)
o(regions)
. - Vengono specificati tutti i tipi non riconosciuti.
-
includePureServiceAreaBusinesses
Se impostato su
true
, la risposta include le attività che visitano o effettuano consegne direttamente ai clienti, ma non hanno una sede fisica. Se impostato sufalse
, l'API restituisce solo le attività con una sede fisica. -
includeQueryPredictions
Se
true
, la risposta include sia le previsioni di luoghi che di query. Il valore predefinito èfalse
, il che significa che la risposta include solo le previsioni dei luoghi. -
includedRegionCodes
Includi solo i risultati dell'elenco delle regioni specificate, indicate come array di massimo 15 ccTLD ("top-level domain") valori di due caratteri. Se omesso, non vengono applicate limitazioni alla risposta. Ad esempio, per limitare le regioni a Germania e Francia:
"includedRegionCodes": ["de", "fr"]
Se specifichi sia
locationRestriction
cheincludedRegionCodes
, i risultati si trovano nell'area di intersezione delle due impostazioni. -
inputOffset
L'offset del carattere Unicode in base zero che indica la posizione del cursore in
input
. La posizione del cursore può influire sulle previsioni restituite. Se è vuoto, il valore predefinito è la lunghezza diinput
. -
languageCode
La lingua preferita in cui restituire i risultati. I risultati potrebbero essere in lingue miste se la lingua utilizzata in
input
è diversa dal valore specificato dalanguageCode
o se il luogo restituito non ha una traduzione dalla lingua locale alanguageCode
.- Per specificare la lingua preferita, devi utilizzare i codici lingua IETF BCP-47.
-
Se
languageCode
non viene fornito, l'API utilizza il valore specificato nell'intestazioneAccept-Language
. Se non viene specificato nessuno dei due, il valore predefinito èen
. Se specifichi un codice lingua non valido, l'API restituisce un erroreINVALID_ARGUMENT
. - La lingua preferita ha una piccola influenza sull'insieme di risultati che l'API sceglie di restituire e sull'ordine in cui vengono restituiti. Ciò influisce anche sulla capacità dell'API di correggere gli errori ortografici.
-
L'API tenta di fornire un indirizzo stradale leggibile sia per l'utente sia per la popolazione locale, riflettendo al contempo l'input dell'utente. Le previsioni dei luoghi
vengono formattate in modo diverso a seconda dell'input dell'utente in ogni richiesta.
-
I termini corrispondenti nel parametro
input
vengono scelti per primi, utilizzando nomi in linea con la preferenza di lingua indicata dal parametrolanguageCode
quando disponibile, altrimenti utilizzando nomi che corrispondono meglio all'input dell'utente. -
Gli indirizzi stradali sono formattati nella lingua locale, in un sistema di scrittura leggibile dall'utente
quando possibile, solo dopo che sono stati selezionati i termini corrispondenti per corrispondere a quelli nel
parametro
input
. -
Tutti gli altri indirizzi vengono restituiti nella lingua preferita, dopo che i termini corrispondenti sono stati
scelti in modo che corrispondano ai termini nel parametro
input
. Se un nome non è disponibile nella lingua preferita, l'API utilizza la corrispondenza più vicina.
-
I termini corrispondenti nel parametro
locationBias o locationRestriction
Puoi specificare
locationBias
olocationRestriction
, ma non entrambi, per definire l'area di ricerca. ConsideralocationRestriction
come la regione in cui devono trovarsi i risultati elocationBias
come la regione in cui devono trovarsi i risultati, ma possono essere al di fuori dell'area.locationBias
Specifica un'area in cui cercare. Questa posizione funge da bias, il che significa che possono essere restituiti risultati intorno alla posizione specificata, inclusi risultati al di fuori dell'area specificata.
locationRestriction
Specifica un'area in cui cercare. I risultati al di fuori dell'area specificata non vengono restituiti.
Specifica la regione
locationBias
olocationRestriction
come viewport rettangolare o come cerchio.Un cerchio è definito dal punto centrale e dal raggio in metri. Il raggio deve essere compreso tra 0,0 e 50.000,0 inclusi. Il valore predefinito è 0,0. Per
locationRestriction
, devi impostare il raggio su un valore maggiore di 0,0. In caso contrario, la richiesta non restituisce alcun risultato.Ad esempio:
"locationBias": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 500.0 } }
Un rettangolo è un'area visibile latitudine-longitudine, rappresentata da due punti
low
e alti diagonalmente opposti. Un viewport è considerato una regione chiusa, il che significa che include il suo confine. I limiti di latitudine devono essere compresi tra -90 e 90 gradi inclusi e i limiti di longitudine tra -180 e 180 gradi inclusi:- Se
low
=high
, l'area visibile è costituita da un singolo punto. - Se
low.longitude
>high.longitude
, l'intervallo di longitudine è invertito (l'area visibile attraversa la linea di longitudine di 180 gradi). - Se
low.longitude
= -180 gradi ehigh.longitude
= 180 gradi, l'area visibile include tutte le longitudini. - Se
low.longitude
= 180 gradi ehigh.longitude
= -180 gradi, l'intervallo di longitudine è vuoto.
low
ehigh
devono essere entrambi compilati e la casella rappresentata non può essere vuota. Un viewport vuoto genera un errore.Ad esempio, questa finestra completamente racchiude New York City:
"locationBias": { "rectangle": { "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } } }
- Se
-
origine
Il punto di origine da cui calcolare la distanza in linea retta fino alla destinazione (restituita come
distanceMeters
). Se questo valore viene omesso, la distanza in linea retta non verrà restituita. Devono essere specificate come coordinate di latitudine e longitudine:"origin": { "latitude": 40.477398, "longitude": -74.259087 }
-
regionCode
Il codice regione utilizzato per formattare la risposta, specificato come valore di due caratteri ccTLD ("top-level domain"). La maggior parte dei codici ccTLD 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").
I suggerimenti sono anche influenzati dai codici regione. Google consiglia di impostare
regionCode
in base alle preferenze regionali dell'utente.Se specifichi un codice regione non valido, l'API restituisce un errore
INVALID_ARGUMENT
. 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 di una ricerca di completamento automatico dell'utente in una sessione discreta ai fini della fatturazione. Per maggiori informazioni, consulta la sezione Token di sessione.
Scegliere i parametri per distorcere i risultati
I parametri di completamento automatico (nuovo) possono influenzare i risultati di ricerca in modo diverso. La seguente tabella fornisce suggerimenti per l'utilizzo dei parametri in base al risultato previsto.Parametro | Suggerimento per l'utilizzo |
---|---|
regionCode |
Impostato in base alle preferenze regionali dell'utente. |
includedRegionCodes |
Imposta per limitare i risultati all'elenco delle regioni specificate. |
locationBias |
Utilizza questa opzione quando preferisci risultati all'interno o nei dintorni di una regione. Se applicabile, definisci la regione come l'area visibile della mappa che l'utente sta guardando. |
locationRestriction |
Utilizza only solo quando i risultati al di fuori di una regione non devono essere restituiti. |
origin |
Utilizza questa opzione quando è prevista una distanza in linea retta per ogni
previsione. |
Esempi di completamento automatico (nuovo)
Limitare la ricerca a un'area utilizzando locationRestriction
locationRestriction
specifica l'area in cui cercare. I risultati al di fuori dell'area specificata
non vengono restituiti. Nell'esempio seguente, utilizzi locationRestriction
per limitare la richiesta a un cerchio di 5000 metri di raggio centrato su San Francisco:
curl -X POST -d '{ "input": "Art museum", "locationRestriction": { "circle": { "center": { "latitude": 37.7749, "longitude": -122.4194 }, "radius": 5000.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Tutti i risultati all'interno delle aree specificate sono contenuti nell'array suggestions
:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJkQQVTZqAhYARHxPt2iJkm1Q", "placeId": "ChIJkQQVTZqAhYARHxPt2iJkm1Q", "text": { "text": "Asian Art Museum, Larkin Street, San Francisco, CA, USA", "matches": [ { "startOffset": 6, "endOffset": 16 } ] }, "structuredFormat": { "mainText": { "text": "Asian Art Museum", "matches": [ { "startOffset": 6, "endOffset": 16 } ] }, "secondaryText": { "text": "Larkin Street, San Francisco, CA, USA" } }, "types": [ "establishment", "museum", "point_of_interest" ] } }, { "placePrediction": { "place": "places/ChIJI7NivpmAhYARSuRPlbbn_2w", "placeId": "ChIJI7NivpmAhYARSuRPlbbn_2w", "text": { "text": "de Young Museum, Hagiwara Tea Garden Drive, San Francisco, CA, USA", "matches": [ { "endOffset": 15 } ] }, "structuredFormat": { "mainText": { "text": "de Young Museum", "matches": [ { "endOffset": 15 } ] }, "secondaryText": { "text": "Hagiwara Tea Garden Drive, San Francisco, CA, USA" } }, "types": [ "establishment", "point_of_interest", "tourist_attraction", "museum" ] } }, /.../ ] }
Puoi anche utilizzare locationRestriction
per limitare le ricerche a un'area visibile
rettangolare. L'esempio seguente limita la richiesta al centro di San Francisco:
curl -X POST -d '{ "input": "Art museum", "locationRestriction": { "rectangle": { "low": { "latitude": 37.7751, "longitude": -122.4219 }, "high": { "latitude": 37.7955, "longitude": -122.3937 } } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
I risultati sono contenuti nell'array suggestions
:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJkQQVTZqAhYARHxPt2iJkm1Q", "placeId": "ChIJkQQVTZqAhYARHxPt2iJkm1Q", "text": { "text": "Asian Art Museum, Larkin Street, San Francisco, CA, USA", "matches": [ { "startOffset": 6, "endOffset": 16 } ] }, "structuredFormat": { "mainText": { "text": "Asian Art Museum", "matches": [ { "startOffset": 6, "endOffset": 16 } ] }, "secondaryText": { "text": "Larkin Street, San Francisco, CA, USA" } }, "types": [ "point_of_interest", "museum", "establishment" ] } }, { "placePrediction": { "place": "places/ChIJyQNK-4SAhYARO2DZaJleWRc", "placeId": "ChIJyQNK-4SAhYARO2DZaJleWRc", "text": { "text": "International Art Museum of America, Market Street, San Francisco, CA, USA", "matches": [ { "startOffset": 14, "endOffset": 24 } ] }, "structuredFormat": { "mainText": { "text": "International Art Museum of America", "matches": [ { "startOffset": 14, "endOffset": 24 } ] }, "secondaryText": { "text": "Market Street, San Francisco, CA, USA" } }, "types": [ "museum", "point_of_interest", "tourist_attraction", "art_gallery", "establishment" ] } } ] }
Limitare la ricerca a un'area utilizzando locationBias
Con locationBias
, la località funge da bias, il che significa che possono essere restituiti risultati intorno alla
località specificata, inclusi risultati al di fuori dell'area specificata. Nell'esempio
che segue, la richiesta è orientata al centro di San Francisco:
curl -X POST -d '{ "input": "Amoeba", "locationBias": { "circle": { "center": { "latitude": 37.7749, "longitude": -122.4194 }, "radius": 5000.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
I risultati ora contengono molti più elementi, inclusi quelli al di fuori del raggio di 5000 metri:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko", "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko", "text": { "text": "Amoeba Music, Haight Street, San Francisco, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Haight Street, San Francisco, CA, USA" } }, "types": [ "electronics_store", "point_of_interest", "store", "establishment", "home_goods_store" ] } }, { "placePrediction": { "place": "places/ChIJr7uwwy58hYARBY-e7-QVwqw", "placeId": "ChIJr7uwwy58hYARBY-e7-QVwqw", "text": { "text": "Amoeba Music, Telegraph Avenue, Berkeley, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Telegraph Avenue, Berkeley, CA, USA" } }, "types": [ "electronics_store", "point_of_interest", "establishment", "home_goods_store", "store" ] } }, ... ] }
Puoi anche utilizzare locationBias
per limitare le ricerche a un'area visibile
rettangolare. L'esempio seguente limita la richiesta al centro di San Francisco:
curl -X POST -d '{ "input": "Amoeba", "locationBias": { "rectangle": { "low": { "latitude": 37.7751, "longitude": -122.4219 }, "high": { "latitude": 37.7955, "longitude": -122.3937 } } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Sebbene i risultati di ricerca all'interno del riquadro rettangolare vengano visualizzati nella risposta, alcuni risultati si trovano al di fuori dei limiti definiti a causa della distorsione. I risultati sono contenuti anche nell'array
suggestions
:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko", "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko", "text": { "text": "Amoeba Music, Haight Street, San Francisco, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Haight Street, San Francisco, CA, USA" } }, "types": [ "point_of_interest", "store", "establishment" ] } }, { "placePrediction": { "place": "places/ChIJr7uwwy58hYARBY-e7-QVwqw", "placeId": "ChIJr7uwwy58hYARBY-e7-QVwqw", "text": { "text": "Amoeba Music, Telegraph Avenue, Berkeley, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Telegraph Avenue, Berkeley, CA, USA" } }, "types": [ "point_of_interest", "store", "establishment" ] } }, { "placePrediction": { "place": "places/ChIJRdmfADq_woARYaVhnfQSUTI", "placeId": "ChIJRdmfADq_woARYaVhnfQSUTI", "text": { "text": "Amoeba Music, Hollywood Boulevard, Los Angeles, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Hollywood Boulevard, Los Angeles, CA, USA" } }, "types": [ "point_of_interest", "store", "establishment" ] } }, /.../ ] }
Utilizza includedPrimaryTypes
Utilizza il parametro includedPrimaryTypes
per specificare fino a cinque valori di tipo da
Tabella A,
Tabella B,
o solo (regions)
o solo (cities)
. Un luogo deve corrispondere a uno dei valori del tipo principale specificati per essere incluso nella risposta.
Nell'esempio seguente, specifichi una stringa input
di
"Calcio" e utilizzi il parametro includedPrimaryTypes
per limitare i risultati alle
strutture di tipo "sporting_goods_store"
:
curl -X POST -d '{ "input": "Soccer", "includedPrimaryTypes": ["sporting_goods_store"], "locationBias": { "circle": { "center": { "latitude": 37.7749, "longitude": -122.4194 }, "radius": 500.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Se ometti il parametro includedPrimaryTypes
, i risultati possono includere
attività di un tipo che non ti interessa, ad esempio "athletic_field"
.
Richiedere le previsioni delle query
Le previsioni delle query non vengono restituite per impostazione predefinita. Utilizza il parametro di richiesta includeQueryPredictions
per aggiungere previsioni di query alla risposta. Ad esempio:
curl -X POST -d '{ "input": "Amoeba", "includeQueryPredictions": true, "locationBias": { "circle": { "center": { "latitude": 37.7749, "longitude": -122.4194 }, "radius": 5000.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
L'array suggestions
ora contiene sia le previsioni dei luoghi sia le previsioni delle query,
come mostrato sopra in Informazioni sulla risposta. Ogni previsione di query
include il campo text
contenente una stringa di ricerca di testo consigliata. Puoi effettuare una richiesta di
Ricerca di testo (nuova)
per ottenere maggiori informazioni su una qualsiasi delle previsioni di query restituite.
Utilizza origine
In questo esempio, includi origin
nella richiesta come coordinate di latitudine e longitudine. Quando includi origin
, il completamento automatico (nuovo) include il campo distanceMeters
nella risposta, che contiene la distanza in linea retta da origin
alla destinazione. Questo esempio imposta l'origine al centro di San
Francisco:
curl -X POST -d '{ "input": "Amoeba", "origin": { "latitude": 37.7749, "longitude": -122.4194 }, "locationRestriction": { "circle": { "center": { "latitude": 37.7749, "longitude": -122.4194 }, "radius": 5000.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
La risposta ora include distanceMeters
:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko", "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko", "text": { "text": "Amoeba Music, Haight Street, San Francisco, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Haight Street, San Francisco, CA, USA" } }, "types": [ "home_goods_store", "establishment", "point_of_interest", "store", "electronics_store" ], "distanceMeters": 3012 } } ] }
Distanza mancante nella risposta
In alcuni casi, distanceMeters
non è presente nel corpo della risposta, anche quando origin
è incluso nella richiesta. Ciò può verificarsi nei seguenti scenari:
distanceMeters
non è incluso nelle previsioni diroute
.distanceMeters
non è incluso quando il suo valore è0
, come nel caso delle previsioni che si trovano a meno di 1 metro di distanza dalla posizioneorigin
fornita.
Le librerie client che tentano di leggere il campo distanceMeters
da un oggetto analizzato restituiranno un campo con valore 0
.
Per evitare di ingannare gli utenti, non mostrare una distanza pari a zero
agli utenti.
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.