Method: places.autocomplete

Muestra predicciones para la entrada dada.

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. Personaliza los resultados según una ubicación específica.

Se debe establecer uno de locationBias o locationRestriction como máximo. Si no se establece ninguna, los resultados se personalizarán por la dirección IP, lo que 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 uno de locationBias o locationRestriction como máximo. Si no se establece ninguna, los resultados se personalizarán por la dirección IP, lo que 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 https://developers.google.com/maps/documentation/places/web-service/place-types. Solo se muestra un lugar si su tipo principal está incluido en esta lista. Se pueden especificar hasta 5 valores. Si no se especifican tipos, se muestran todos los tipos de lugares.

includedRegionCodes[]

string

Opcional. Incluye solo los resultados en las regiones especificadas, con un máximo de 15 códigos regionales 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. El código de región, especificado como un código regional 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 desde el que se calculará 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á predicciones de lugar y de consulta. De lo contrario, la respuesta solo mostrará predicciones del lugar.

sessionToken

string

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

La sesión comienza cuando el usuario comienza a escribir una consulta y finaliza 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 una sesión, el token deja de ser válido, y 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:

  • Usar 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 la versión 4.
  • Asegúrate de que las credenciales utilizadas 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. Usar el mismo token en más de una sesión hará que cada solicitud se facture de forma individual.

Cuerpo de la respuesta

Protocolo 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 la relevancia.

LocationBias

La región en la que se buscará. Los resultados pueden estar 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)

Es una viewport definida por una esquina noreste y una esquina 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)

Es una viewport definida por una esquina noreste y una esquina suroeste.

circle

object (Circle)

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

Sugerencia

Un resultado de sugerencia de Autocompletar.

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)

Predicción de un lugar.

queryPrediction

object (QueryPrediction)

Es una predicción para una consulta.

PlacePrediction

Resultados de una 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

El nombre del recurso del lugar sugerido. Este nombre se puede utilizar 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 aceptan IDs de lugar.

text

object (FormattableText)

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

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

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

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

structuredFormat

object (StructuredFormat)

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

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

types[]

string

Lista de tipos que se aplican a este lugar de la Tabla A o 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 compartirá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 de consulta. El texto se puede usar tal como está o con formato.

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

string

Texto que se puede usar tal como está o que se puede formatear con matches.

matches[]

object (StringRange)

Una lista de rangos de strings que identifican el punto en el que 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 coincidencia de cadenas (por ejemplo, correcciones ortográficas o transliteraciones).

Estos valores son desplazamientos de caracteres Unicode de text. Se garantiza que los rangos se ordenarán en valores de desplazamiento crecientes.

StringRange

Identifica una subcadena dentro de un texto dado.

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

integer

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

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 Place, el texto principal contiene el nombre específico del lugar. En el caso de las predicciones de consulta, el texto principal contiene la consulta.

El texto secundario contiene características adicionales y aclaratorias (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 de la consulta.

secondaryText

object (FormattableText)

Representa características adicionales y aclaratorias (como una ciudad o región) para identificar aún más 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 de predicción. Este texto no representa un lugar, sino una consulta de texto que podría usarse en un extremo de búsqueda (por ejemplo, Text Search).

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

Puede estar en una combinación de idiomas si las solicitudes 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)

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

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