Method: places.autocomplete

Muestra predicciones para la entrada especificada.

Solicitud HTTP

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

La URL usa la sintaxis de la transcodificación gRPC.

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con la siguiente estructura:

Representación 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
}
Campos
input

string

Obligatorio. Cadena de texto en la que se realiza la búsqueda

locationBias

object (LocationBias)

Opcional. Personalizar resultados en función de una ubicación específica

Se debe establecer locationBias o locationRestriction como máximo. Si no se establece ninguna, los resultados se personalizarán según la dirección IP. Esto significa que la dirección IP se asignará a una ubicación imprecisa y se utilizará como señal de personalización.

locationRestriction

object (LocationRestriction)

Opcional. Restringe los resultados a una ubicación específica.

Se debe establecer locationBias o locationRestriction como máximo. Si no se establece ninguna, los resultados se personalizarán según la dirección IP. Esto significa que la dirección IP se asignará a una ubicación imprecisa y se utilizará como señal de personalización.

includedPrimaryTypes[]

string

Opcional. Se incluyó el tipo de lugar principal (por ejemplo, "restaurante" o "gas_station") de la Tabla A o la Tabla B en los Tipos de Lugar (https://developers.google.com/maps/documentation/places/web-service/place-types), o solo (regiones) o solo (ciudades). Un sitio solo se devuelve si su tipo principal se incluye en esta lista. Se pueden especificar hasta 5 valores. Si no se especifican tipos, se muestran todos los tipos de lugar.

includedRegionCodes[]

string

Opcional. Solo incluye resultados en las regiones especificadas, con un máximo de 15 códigos de región CLDR de dos caracteres. Un conjunto vacío no restringirá los resultados. Si se configuran locationRestriction y includedRegionCodes, los resultados se ubicarán en el área de intersección.

languageCode

string

Opcional. El idioma en el que se mostrarán los resultados. La configuración predeterminada es en-US. Los resultados pueden estar en varios idiomas si el idioma utilizado en input es diferente de languageCode o si el lugar que se muestra no tiene una traducción del idioma local al languageCode.

regionCode

string

Opcional. Es el código de región, especificado como un código de región CLDR de dos caracteres. Esto afecta el formato de la dirección y la clasificación de los resultados, y puede influir en los resultados que se muestran. Esto no restringe los resultados a la región especificada. Para restringir los resultados a una región, usa region_code_restriction.

origin

object (LatLng)

Opcional. Punto de origen a partir del cual se calcula la distancia geodésica hasta el destino (se muestra como distanceMeters). Si se omite este valor, no se devolverá la distancia geodésica.

inputOffset

integer

Opcional. Un desplazamiento de caracteres Unicode basado en cero de input que indica la posición del cursor en input. La posición del cursor puede influir en las predicciones que se muestran.

Si está vacío, el valor predeterminado es la longitud de input.

includeQueryPredictions

boolean

Opcional. Si es verdadero, la respuesta incluirá las predicciones de Places y de consultas. De lo contrario, la respuesta solo mostrará predicciones de Places.

sessionToken

string

Opcional. Es una cadena que identifica una sesión de Autocomplete con fines de facturación. Debe ser una string base64 segura de URL y nombre de archivo con un máximo de 36 caracteres ASCII de longitud. De lo contrario, se muestra un error INVALID_ARGUMENT.

La sesión se inicia cuando el usuario comienza a escribir una consulta y termina cuando selecciona un lugar y se realiza una llamada a Place Details o Address Validation. Cada sesión puede tener varias consultas, seguidas de una solicitud de Place Details o Address Validation. Las credenciales que se usan para cada solicitud dentro de una sesión deben pertenecer al mismo proyecto de la consola de Google Cloud. Una vez que finaliza la sesión, el token deja de ser válido. tu app debe generar un token nuevo para cada sesión. Si se omite el parámetro sessionToken, o si reutilizas un token de sesión, la sesión se cobrará como si no se hubiera proporcionado un token de sesión (cada solicitud se factura por separado).

Recomendamos los siguientes lineamientos:

  • Usa tokens de sesión para todas las llamadas de Place Autocomplete.
  • Genera un token nuevo para cada sesión. Se recomienda usar un UUID de versión 4.
  • Asegúrate de que las credenciales que se usan para todas las solicitudes de Place Autocomplete, Place Details y Address Validation dentro de una sesión pertenezcan al mismo proyecto de la consola de Cloud.
  • Asegúrate de pasar un token de sesión único para cada sesión nueva. Si usas el mismo token en más de una sesión, cada solicitud se facturará de forma individual.

Cuerpo de la respuesta

Proto de respuesta para places.autocomplete.

Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:

Representación JSON
{
  "suggestions": [
    {
      object (Suggestion)
    }
  ]
}
Campos
suggestions[]

object (Suggestion)

Contiene una lista de sugerencias, ordenadas de forma descendente según su relevancia.

LocationBias

La región en la que se buscará. Los resultados pueden estar sesgados en función de la región especificada.

Representación 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.
}
Campos

Campo de unión type.

type puede ser una de las siguientes opciones:

rectangle

object (Viewport)

Un viewport definido por una esquina noreste y suroeste

circle

object (Circle)

Es un círculo definido por un punto central y un radio.

LocationRestriction

La región en la que se buscará. Los resultados se restringirán a la región especificada.

Representación 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.
}
Campos

Campo de unión type.

type puede ser una de las siguientes opciones:

rectangle

object (Viewport)

Un viewport definido por una esquina noreste y suroeste

circle

object (Circle)

Es un círculo definido por un punto central y un radio.

Sugerencia

Un resultado de sugerencia de Autocomplete.

Representación 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.
}
Campos

Campo de unión kind.

kind puede ser una de las siguientes opciones:

placePrediction

object (PlacePrediction)

Es una predicción de un lugar.

queryPrediction

object (QueryPrediction)

Una predicción para una consulta.

PlacePrediction

Resultados de predicciones de Place Autocomplete.

Representación JSON
{
  "place": string,
  "placeId": string,
  "text": {
    object (FormattableText)
  },
  "structuredFormat": {
    object (StructuredFormat)
  },
  "types": [
    string
  ],
  "distanceMeters": integer
}
Campos
place

string

El nombre del recurso del sitio sugerido. Este nombre se puede usar en otras APIs que aceptan nombres de lugar.

placeId

string

Es el identificador único del lugar sugerido. Este identificador se puede usar en otras APIs que aceptan IDs de lugar.

text

object (FormattableText)

Contiene el nombre legible del resultado que se muestra. Para los resultados de establecimientos, suele incluir el nombre y la dirección de la empresa.

Se recomienda text para los desarrolladores que desean mostrar un solo elemento de la IU. Es posible que los desarrolladores que deseen mostrar dos elementos de IU separados, pero relacionados, quieran usar structuredFormat en su lugar. Son dos formas diferentes de representar una predicción de lugar. Los usuarios no deben intentar analizar structuredFormat en text o viceversa.

Este texto puede ser diferente del valor displayName que devuelve places.get.

Puede estar en varios idiomas si la solicitud input y languageCode están en diferentes idiomas o si el lugar no tiene una traducción del idioma local al languageCode.

structuredFormat

object (StructuredFormat)

Un desglose de la predicción del lugar en texto principal que contiene el nombre del lugar y un texto secundario que contenga características adicionales que desambiguan (como una ciudad o región).

Se recomienda structuredFormat para los desarrolladores que desean mostrar dos elementos de la IU separados pero relacionados. Los desarrolladores que deseen mostrar un solo elemento de la IU pueden usar text en su lugar. Son dos formas diferentes de representar una predicción de lugar. Los usuarios no deben intentar analizar structuredFormat en text o viceversa.

types[]

string

Lista de los tipos que se aplican a este lugar de la Tabla A o de la Tabla B en https://developers.google.com/maps/documentation/places/web-service/place-types.

Un tipo es una categorización de un lugar. Los lugares que se compartan con tipos de lugares tendrán características similares.

distanceMeters

integer

La longitud de la línea geodésica en metros desde origin si se especifica origin. Es posible que algunas predicciones, como las rutas, no propaguen este campo.

FormattableText

Texto que representa una predicción de lugar o consulta. El texto se puede utilizar tal como está o con formato.

Representación JSON
{
  "text": string,
  "matches": [
    {
      object (StringRange)
    }
  ]
}
Campos
text

string

Texto que se puede utilizar tal como está o que se puede utilizar con el formato matches.

matches[]

object (StringRange)

Una lista de rangos de cadenas que identifican el lugar en el que la solicitud de entrada coincidió en text. Los rangos se pueden usar para dar formato a partes específicas de text. Es posible que las substrings no sean coincidencias exactas de input si la coincidencia se determinó mediante criterios distintos de la coincidencia de cadenas (por ejemplo, correcciones ortográficas o transliteraciones).

Estos valores son desplazamientos de caracteres Unicode de text. Se garantiza que los rangos estén ordenados en valores de desplazamiento crecientes.

StringRange

Identifica una subcadena dentro de un texto determinado.

Representación JSON
{
  "startOffset": integer,
  "endOffset": integer
}
Campos
startOffset

integer

Desplazamiento basado en cero del primer carácter Unicode de la string (inclusiva).

endOffset

integer

Desplazamiento basado en cero del último carácter Unicode (exclusivo).

StructuredFormat

Contiene un desglose de una predicción de lugar o de consulta en texto principal y texto secundario.

Para las predicciones de Places, el texto principal contiene el nombre específico del Place. Para las predicciones de consulta, el texto principal contiene la consulta.

El texto secundario contiene características adicionales que desambiguan (como una ciudad o región) para identificar aún más el lugar o definir mejor la consulta.

Representación JSON
{
  "mainText": {
    object (FormattableText)
  },
  "secondaryText": {
    object (FormattableText)
  }
}
Campos
mainText

object (FormattableText)

Representa el nombre del lugar o la consulta.

secondaryText

object (FormattableText)

Representa características adicionales que desambiguan (como una ciudad o región) para identificar mejor el lugar o definir mejor la consulta.

QueryPrediction

Resultados de la predicción para una predicción del autocompletado de consultas.

Representación JSON
{
  "text": {
    object (FormattableText)
  },
  "structuredFormat": {
    object (StructuredFormat)
  }
}
Campos
text

object (FormattableText)

Es el texto predicho. Este texto no representa un lugar, sino una consulta de texto que podría usarse en un punto final de búsqueda (por ejemplo, Text Search).

Se recomienda text para los desarrolladores que desean mostrar un solo elemento de la IU. Es posible que los desarrolladores que deseen mostrar dos elementos de IU separados, pero relacionados, quieran usar structuredFormat en su lugar. Son dos formas diferentes de representar una predicción de consulta. Los usuarios no deben intentar analizar structuredFormat en text o viceversa.

Puede estar en varios idiomas si la solicitud input y languageCode están en diferentes idiomas o si parte de la consulta no tiene una traducción del idioma local al languageCode.

structuredFormat

object (StructuredFormat)

Un desglose de la predicción de la consulta en texto principal que contiene la consulta y el texto secundario, que contiene atributos adicionales que desambiguan (como una ciudad o región).

Se recomienda structuredFormat para los desarrolladores que desean mostrar dos elementos de la IU separados pero relacionados. Los desarrolladores que deseen mostrar un solo elemento de la IU pueden usar text en su lugar. Son dos formas diferentes de representar una predicción de consulta. Los usuarios no deben intentar analizar structuredFormat en text o viceversa.