Method: places.autocomplete

Muestra las predicciones para la entrada determinada.

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,
  "includePureServiceAreaBusinesses": boolean
}
Campos
input

string

Es obligatorio. Es la cadena de texto en la que se realizará la búsqueda.

locationBias

object (LocationBias)

Opcional. Personaliza los resultados según una ubicación específica.

Se debe establecer como máximo uno de locationBias o locationRestriction. Si no se configura ninguno, los resultados se sesgarán por dirección IP, lo que significa que la dirección IP se asignará a una ubicación imprecisa y se usará como un indicador de sesgo.

locationRestriction

object (LocationRestriction)

Opcional. Restringe los resultados a una ubicación especificada.

Se debe establecer como máximo uno de locationBias o locationRestriction. Si no se configura ninguno, los resultados se sesgarán por dirección IP, lo que significa que la dirección IP se asignará a una ubicación imprecisa y se usará como un indicador de sesgo.

includedPrimaryTypes[]

string

Opcional. Se incluyó el tipo de lugar principal (por ejemplo, "restaurant" o "gas_station") en Tipos de lugares (https://developers.google.com/maps/documentation/places/web-service/place-types), solo (regions) o solo (cities). Solo se muestra un lugar 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 Place.

includedRegionCodes[]

string

Opcional. Solo incluye resultados en las regiones especificadas, que se indican como hasta 15 códigos de región de dos caracteres CLDR. 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. Es el idioma en el que se muestran los resultados. El valor predeterminado es en-US. Los resultados pueden estar en idiomas mixtos si el idioma que se usa en input es diferente de languageCode o si el Place que se muestra no tiene una traducción del idioma local a languageCode.

regionCode

string

Opcional. Es el código de región, especificado como un código de región de dos caracteres del CLDR. Esto afecta el formato de las direcciones, 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. Es el punto de origen desde el que se calcula la distancia geodésica hasta el destino (se muestra como distanceMeters). Si se omite este valor, no se mostrará 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á predicciones de lugares y de consultas. De lo contrario, la respuesta solo mostrará predicciones de Place.

sessionToken

string

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

La sesión comienza 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 búsquedas, 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 a 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.
includePureServiceAreaBusinesses

boolean

Opcional. Incluye empresas de servicio en el área exclusivamente si el campo está establecido como verdadero. Una empresa exclusivamente de servicio en el área es una empresa que visita a los clientes o les entrega sus productos directamente, pero que no brinda servicios a los clientes en su dirección comercial. Por ejemplo, empresas de servicios de limpieza o plomería. Esas empresas no tienen una dirección física ni una ubicación en Google Maps. Places no mostrará campos como location, plusCode y otros campos relacionados con la ubicación para estas empresas.

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 en orden descendente de relevancia.

Permisos de autorización

Requiere el siguiente alcance de OAuth:

  • https://www.googleapis.com/auth/cloud-platform

LocationBias

La región que se buscará. Es posible que los resultados estén sesgados en torno 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 una suroeste.

circle

object (Circle)

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

LocationRestriction

La región 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 una suroeste.

circle

object (Circle)

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

Sugerencia

Un resultado de la 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 para un lugar.

queryPrediction

object (QueryPrediction)

Es una predicción para una consulta.

PlacePrediction

Resultados de la predicción de Place Autocomplete.

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

string

Es el nombre del recurso del lugar sugerido. Este nombre se puede usar en otras APIs que aceptan nombres de lugares.

placeId

string

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

text

object (FormattableText)

Contiene el nombre legible por humanos del resultado que se muestra. En el caso de los resultados de establecimientos, suele ser el nombre y la dirección de la empresa.

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

Es posible que este texto sea diferente del displayName que muestra places.get.

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

structuredFormat

object (StructuredFormat)

Un desglose de la predicción de Place en texto principal que contiene el nombre del Place y texto secundario que contiene atributos adicionales para desambiguar (como una ciudad o una región).

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

types[]

string

Es la lista de tipos que se aplican a este lugar de la tabla A o 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 con tipos compartidos tendrán características similares.

distanceMeters

integer

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

FormattableText

Es el texto que representa una predicción de lugar o búsqueda. El texto se puede usar tal como está o con formato.

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

string

Es un texto que se puede usar tal como está o con formato matches.

matches[]

object (StringRange)

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

Estos valores son compensaciones de caracteres Unicode de text. Se garantiza que los rangos se ordenen en valores de desplazamiento crecientes.

StringRange

Identifica una subcadena dentro de un texto determinado.

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

integer

Es el desplazamiento basado en cero del primer carácter Unicode de la cadena (inclusivo).

endOffset

integer

Desplazamiento a partir de cero del último carácter Unicode (exclusivo).

StructuredFormat

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

En el caso de las predicciones de lugares, el texto principal contiene el nombre específico del lugar. En el caso de las predicciones de consultas, el texto principal contiene la consulta.

El texto secundario contiene atributos adicionales para desambiguar (como una ciudad o una región) para identificar mejor el lugar o definir mejor la búsqueda.

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

object (FormattableText)

Representa el nombre del lugar o la búsqueda.

secondaryText

object (FormattableText)

Representan características adicionales que permiten desambiguar (como una ciudad o una región) para identificar mejor el lugar o definir mejor la búsqueda.

QueryPrediction

Resultados de la predicción de una predicción de Autocomplete de búsqueda.

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

object (FormattableText)

El texto previsto. Este texto no representa un lugar, sino una búsqueda de texto que se podría usar en un extremo de búsqueda (por ejemplo, Text Search).

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

Puede estar en idiomas mixtos 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 a languageCode.

structuredFormat

object (StructuredFormat)

Un desglose de la predicción de la búsqueda en texto principal que contiene la búsqueda y texto secundario que contiene características adicionales de desambiguación (como una ciudad o una región).

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