Method: places.autocomplete

Restituisce le previsioni per l'input specificato.

Richiesta HTTP

POST https://places.googleapis.com/v1/places:autocomplete

L'URL utilizza la sintassi di transcodifica gRPC.

Corpo della richiesta

Il corpo della richiesta contiene dati con la seguente struttura:

Rappresentazione JSON
{
  "input": string,
  "locationBias": {
    object (LocationBias)
  },
  "locationRestriction": {
    object (LocationRestriction)
  },
  "includedPrimaryTypes": [
    string
  ],
  "includedRegionCodes": [
    string
  ],
  "languageCode": string,
  "regionCode": string,
  "origin": {
    object (LatLng)
  },
  "inputOffset": integer,
  "includeQueryPredictions": boolean,
  "sessionToken": string,
  "includePureServiceAreaBusinesses": boolean
}
Campi
input

string

Obbligatorio. La stringa di testo in cui cercare.

locationBias

object (LocationBias)

(Facoltativo) Spostare i risultati in base a una località specificata.

Deve essere impostato al massimo un valore per locationBias o locationRestriction. Se non viene impostato nessuno dei due, i risultati saranno influenzati dall'indirizzo IP, il che significa che l'indirizzo IP verrà mappato a una posizione imprecisa e utilizzato come indicatore di bias.

locationRestriction

object (LocationRestriction)

(Facoltativo) Limita i risultati a una località specificata.

Deve essere impostato al massimo un valore per locationBias o locationRestriction. Se non viene impostato nessuno dei due, i risultati saranno influenzati dall'indirizzo IP, il che significa che l'indirizzo IP verrà mappato a una posizione imprecisa e utilizzato come indicatore di bias.

includedPrimaryTypes[]

string

(Facoltativo) Tipo di luogo principale incluso (ad es. "restaurant" o "gas_station") nei tipi di luogo (https://developers.google.com/maps/documentation/places/web-service/place-types) oppure solo (regions) o solo (cities). Un luogo viene restituito solo se il relativo tipo principale è incluso in questo elenco. È possibile specificare fino a 5 valori. Se non vengono specificati tipi, vengono restituiti tutti i tipi di luogo.

includedRegionCodes[]

string

(Facoltativo) Includi solo i risultati nelle regioni specificate, specificate come massimo 15 codici regione CLDR di due caratteri. Un insieme vuoto non limita i risultati. Se sono impostati sia locationRestriction sia includedRegionCodes, i risultati si troveranno nell'area di intersezione.

languageCode

string

(Facoltativo) La lingua in cui restituire i risultati. Il valore predefinito è en-US. I risultati possono essere in lingue miste se la lingua utilizzata in input è diversa da languageCode o se il luogo restituito non ha una traduzione dalla lingua locale a languageCode.

regionCode

string

(Facoltativo) Il codice regione, specificato come codice regione CLDR a due caratteri. Ciò influisce sulla formattazione degli indirizzi, sul ranking dei risultati e può influire sui risultati restituiti. Ciò non limita i risultati alla regione specificata. Per limitare i risultati a una regione, utilizza region_code_restriction.

origin

object (LatLng)

(Facoltativo) Il punto di partenza da cui calcolare la distanza geodetica alla destinazione (restituito come distanceMeters). Se questo valore viene omesso, la distanza geodetica non viene restituita.

inputOffset

integer

(Facoltativo) Un offset di caratteri Unicode basato su zero di input che indica la posizione del cursore in input. La posizione del cursore può influire sulle previsioni restituite.

Se è vuoto, il valore predefinito è input.

includeQueryPredictions

boolean

(Facoltativo) Se true, la risposta includerà sia le previsioni di luoghi che quelle di query. In caso contrario, la risposta restituirà solo le previsioni dei luoghi.

sessionToken

string

(Facoltativo) Una stringa che identifica una sessione Autocomplete a fini di fatturazione. Deve essere una stringa base64 sicura per URL e nomi file con una lunghezza massima di 36 caratteri ASCII. In caso contrario, viene restituito un errore INVALID_ARGUMENT.

La sessione inizia quando l'utente inizia a digitare una query e termina quando seleziona un luogo e viene effettuata una chiamata a Dettagli dei luoghi o Convalida indirizzo. Ogni sessione può avere più query, seguite da una richiesta di dettagli sui luoghi o di convalida dell'indirizzo. Le credenziali utilizzate per ogni richiesta all'interno di una sessione devono appartenere allo stesso progetto della console Google Cloud. Al termine di una sessione, il token non è più valido; l'app deve generare un nuovo token per ogni sessione. Se il parametro sessionToken viene omesso o se riutilizzi un token di sessione, la sessione viene addebitata come se non fosse stato fornito alcun token di sessione (ogni richiesta viene fatturata separatamente).

Ti consigliamo di seguire le seguenti linee guida:

  • Utilizza i token di sessione per tutte le chiamate di completamento automatico dei luoghi.
  • Genera un nuovo token per ogni sessione. Si consiglia di utilizzare un UUID versione 4.
  • Assicurati che le credenziali utilizzate per tutte le richieste di completamento automatico dei luoghi, dei dettagli dei luoghi e di convalida dell'indirizzo all'interno di una sessione appartengano allo stesso progetto Cloud Console.
  • Assicurati di passare un token di sessione univoco per ogni nuova sessione. Se utilizzi lo stesso token per più sessioni, ogni richiesta verrà fatturata singolarmente.
includePureServiceAreaBusinesses

boolean

(Facoltativo) Includi le attività al domicilio del cliente se il campo è impostato su true. Un'attività al domicilio del cliente è un'attività che effettua consegne a domicilio o raggiunge direttamente i clienti, ma non presta servizio ai clienti presso l'indirizzo aziendale. Ad esempio, attività come servizi di pulizia o idraulici. Queste attività non hanno un indirizzo fisico o una sede su Google Maps. Per queste attività, Places non restituirà campi tra cui location, plusCode e altri campi relativi alla posizione.

Corpo della risposta

Protocollo di risposta per places.autocomplete.

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:

Rappresentazione JSON
{
  "suggestions": [
    {
      object (Suggestion)
    }
  ]
}
Campi
suggestions[]

object (Suggestion)

Contiene un elenco di suggerimenti, ordinati in ordine decrescente di pertinenza.

LocationBias

La regione in cui cercare. I risultati potrebbero essere parziali per la regione specificata.

Rappresentazione JSON
{

  // Union field type can be only one of the following:
  "rectangle": {
    object (Viewport)
  },
  "circle": {
    object (Circle)
  }
  // End of list of possible types for union field type.
}
Campi

Campo unione type.

type può essere solo uno dei seguenti:

rectangle

object (Viewport)

Un viewport definito da un angolo nord-est e da un angolo sud-ovest.

circle

object (Circle)

Un cerchio definito da un punto centrale e un raggio.

LocationRestriction

La regione in cui cercare. I risultati saranno limitati alla regione specificata.

Rappresentazione JSON
{

  // Union field type can be only one of the following:
  "rectangle": {
    object (Viewport)
  },
  "circle": {
    object (Circle)
  }
  // End of list of possible types for union field type.
}
Campi

Campo unione type.

type può essere solo uno dei seguenti:

rectangle

object (Viewport)

Un viewport definito da un angolo nord-est e da un angolo sud-ovest.

circle

object (Circle)

Un cerchio definito da un punto centrale e un raggio.

Suggerimento

Un risultato del suggerimento di completamento automatico.

Rappresentazione JSON
{

  // Union field kind can be only one of the following:
  "placePrediction": {
    object (PlacePrediction)
  },
  "queryPrediction": {
    object (QueryPrediction)
  }
  // End of list of possible types for union field kind.
}
Campi

Campo unione kind.

kind può essere solo uno dei seguenti:

placePrediction

object (PlacePrediction)

Una previsione per un luogo.

queryPrediction

object (QueryPrediction)

Una previsione per una query.

PlacePrediction

Risultati della previsione per una previsione di completamento automatico dei luoghi.

Rappresentazione JSON
{
  "place": string,
  "placeId": string,
  "text": {
    object (FormattableText)
  },
  "structuredFormat": {
    object (StructuredFormat)
  },
  "types": [
    string
  ],
  "distanceMeters": integer
}
Campi
place

string

Il nome della risorsa del luogo suggerito. Questo nome può essere utilizzato in altre API che accettano nomi di luoghi.

placeId

string

L'identificatore univoco del luogo suggerito. Questo identificatore può essere utilizzato in altre API che accettano ID luogo.

text

object (FormattableText)

Contiene il nome leggibile del risultato restituito. Per i risultati relativi a un'attività, in genere si tratta del nome e dell'indirizzo dell'attività.

text è consigliato per gli sviluppatori che vogliono mostrare un singolo elemento dell'interfaccia utente. Gli sviluppatori che vogliono mostrare due elementi dell'interfaccia utente distinti, ma correlati, potrebbero preferire utilizzare structuredFormat. Si tratta di due modi diversi per rappresentare una previsione di luogo. Gli utenti non devono tentare di analizzare structuredFormat in text o viceversa.

Questo testo potrebbe essere diverso da displayName restituito da places.get.

Può essere in lingue miste se le richieste input e languageCode sono in lingue diverse o se il luogo non ha una traduzione dalla lingua locale a languageCode.

structuredFormat

object (StructuredFormat)

Un'analisi della previsione del luogo in un testo principale contenente il nome del luogo e un testo secondario contenente ulteriori elementi di disambiguazione (ad esempio una città o una regione).

structuredFormat è consigliato per gli sviluppatori che vogliono mostrare due elementi dell'interfaccia utente distinti, ma correlati. Gli sviluppatori che vogliono mostrare un singolo elemento dell'interfaccia utente potrebbero preferire utilizzare text. Si tratta di due modi diversi per rappresentare una previsione di luogo. Gli utenti non devono tentare di analizzare structuredFormat in text o viceversa.

types[]

string

Elenco dei tipi che si applicano a questo luogo dalla Tabella A o dalla Tabella B in https://developers.google.com/maps/documentation/places/web-service/place-types.

Un tipo è una classificazione di un luogo. I luoghi con tipi condivisi avranno caratteristiche simili.

distanceMeters

integer

La lunghezza della geodetica in metri da origin se origin è specificato. Determinate previsioni, come i percorsi, potrebbero non compilare questo campo.

FormattableText

Testo che rappresenta una previsione di una località o di una query. Il testo può essere utilizzato così com'è o formattato.

Rappresentazione JSON
{
  "text": string,
  "matches": [
    {
      object (StringRange)
    }
  ]
}
Campi
text

string

Testo che può essere utilizzato così com'è o formattato con matches.

matches[]

object (StringRange)

Un elenco di intervalli di stringhe che identificano la posizione in cui la richiesta di input corrisponde a text. Gli intervalli possono essere utilizzati per formattare parti specifiche di text. Le sottostringhe potrebbero non corrispondere esattamente a input se la corrispondenza è stata determinata da criteri diversi dalla corrispondenza di stringhe (ad es. correzioni ortografica o traslitterazioni).

Questi valori sono gli offset dei caratteri Unicode di text. Gli intervalli sono garantiti per essere ordinati in valori di offset crescenti.

StringRange

Identifica una sottostringa all'interno di un determinato testo.

Rappresentazione JSON
{
  "startOffset": integer,
  "endOffset": integer
}
Campi
startOffset

integer

Offset a partire da zero del primo carattere Unicode della stringa (incluso).

endOffset

integer

Offset basato su zero dell'ultimo carattere Unicode (esclusivo).

StructuredFormat

Contiene una suddivisione della previsione di un luogo o di una query in testo principale e testo secondario.

Per le previsioni dei luoghi, il testo principale contiene il nome specifico del luogo. Per le previsioni delle query, il testo principale contiene la query.

Il testo secondario contiene ulteriori elementi di disambiguazione (ad esempio una città o una regione) per identificare ulteriormente il luogo o perfezionare la query.

Rappresentazione JSON
{
  "mainText": {
    object (FormattableText)
  },
  "secondaryText": {
    object (FormattableText)
  }
}
Campi
mainText

object (FormattableText)

Rappresenta il nome del luogo o della query.

secondaryText

object (FormattableText)

Rappresenta elementi aggiuntivi per distinguere (ad esempio una città o una regione) per identificare ulteriormente il luogo o perfezionare la query.

QueryPrediction

Risultati di previsione per una previsione di completamento automatico della query.

Rappresentazione JSON
{
  "text": {
    object (FormattableText)
  },
  "structuredFormat": {
    object (StructuredFormat)
  }
}
Campi
text

object (FormattableText)

Il testo previsto. Questo testo non rappresenta un luogo, ma una query di testo che potrebbe essere utilizzata in un endpoint di ricerca (ad esempio Ricerca di testo).

text è consigliato per gli sviluppatori che vogliono mostrare un singolo elemento dell'interfaccia utente. Gli sviluppatori che vogliono mostrare due elementi dell'interfaccia utente distinti, ma correlati, potrebbero preferire utilizzare structuredFormat. Si tratta di due modi diversi per rappresentare una previsione della query. Gli utenti non devono tentare di analizzare structuredFormat in text o viceversa.

Può essere in lingue miste se la richiesta input e languageCode sono in lingue diverse o se parte della query non ha una traduzione dalla lingua locale a languageCode.

structuredFormat

object (StructuredFormat)

Un'analisi dettagliata della previsione della query in un testo principale contenente la query e un testo secondario contenente ulteriori elementi di disambiguazione (ad esempio una città o una regione).

structuredFormat è consigliato per gli sviluppatori che vogliono mostrare due elementi dell'interfaccia utente distinti, ma correlati. Gli sviluppatori che vogliono mostrare un singolo elemento dell'interfaccia utente potrebbero preferire utilizzare text. Si tratta di due modi diversi per rappresentare una previsione della query. Gli utenti non devono tentare di analizzare structuredFormat in text o viceversa.