Query Autocomplete (heredado)

Desarrolladores del Espacio Económico Europeo (EEE)

La función de autocompletar búsquedas (legado) se puede usar para proporcionar una predicción de búsqueda para búsquedas geográficas basadas en texto, ya que devuelve las búsquedas sugeridas a medida que escribes.

Solicitudes a Query Autocomplete (heredado)

Query Autocomplete (heredado) forma parte de la API de Places (heredada) y comparte una clave de API y una cuota con la API de Places (heredada).

Query Autocomplete (legacy) te permite agregar predicciones de búsquedas geográficas sobre la marcha a tu aplicación. En lugar de buscar una ubicación específica, el usuario puede escribir una búsqueda categórica, como "pizza cerca de Nueva York", y el servicio responderá con una lista de sugerencias de búsquedas que coincidan con la cadena. Dado que Query Autocomplete (legacy) puede coincidir con palabras completas y subcadenas, las aplicaciones pueden enviar búsquedas a medida que el usuario escribe para proporcionar predicciones en el momento.

Una solicitud de Autocompletar búsquedas (legado) es una URL HTTP con el siguiente formato:

https://maps.googleapis.com/maps/api/place/queryautocomplete/output?parameters

donde output puede ser json o xml.

Se requieren ciertos parámetros para iniciar una solicitud de Autocompletar búsqueda (legacy). Tal como es práctica estándar para las URLs, todos los parámetros se separan usando el signo et (&). A continuación, se enumeran los parámetros y sus posibles valores.

Parámetros obligatorios

  • entrada

    Es la cadena de texto en la que se realizará la búsqueda. El servicio Place Autocomplete devolverá posibles coincidencias en función de esta cadena y ordenará los resultados según la relevancia percibida.

Parámetros opcionales

  • idioma

    Es el idioma en el que se mostrarán los resultados.

    • Consulta la lista de idiomas admitidos. Google actualiza con frecuencia los idiomas admitidos, por lo que es posible que esta lista no sea exhaustiva.
    • Si no se proporciona language, la API intenta usar el idioma preferido especificado en el encabezado Accept-Language.
    • La API hace todo lo posible para proporcionar una dirección que sea legible tanto para el usuario como para los residentes locales. Para lograr ese objetivo, devuelve direcciones de calles en el idioma local, transliteradas a una escritura que el usuario pueda leer si es necesario, y observa el idioma preferido. Todas las demás direcciones se devuelven en el idioma preferido. Todos los componentes de la dirección se devuelven en el mismo idioma, que se elige a partir del primer componente.
    • Si un nombre no está disponible en el idioma preferido, la API usa la coincidencia más cercana.
    • El idioma preferido tiene una pequeña influencia en el conjunto de resultados que la API elige devolver y en el orden en que se devuelven. El geocodificador interpreta las abreviaturas de manera diferente según el idioma, como las abreviaturas de los tipos de calles o los sinónimos que pueden ser válidos en un idioma, pero no en otro. Por ejemplo, utca y tér son sinónimos de calle en húngaro.
  • ubicación

    Define un punto, como coordenadas latitude,longitude, alrededor del cual se realizará la búsqueda. El servicio Places usa la ubicación para sesgar la búsqueda y mostrar preferentemente los resultados en el área definida por location y radius. Es posible que también se muestren resultados fuera del área definida.

    El parámetro location se puede anular si query contiene una ubicación explícita, como Market in Barcelona. Usar comillas alrededor de la búsqueda también puede influir en la importancia que se les otorga a location y radius.
  • offset

    Posición, en el término de entrada, del último carácter que el servicio usa para correlacionar predicciones. Por ejemplo, si la entrada es Google y el desplazamiento es 3, el servicio coincidirá con Goo. La cadena determinada por el desplazamiento solo se compara con la primera palabra del término de entrada. Por ejemplo, si el término de entrada es Google abc y el desplazamiento es 3, el servicio intentará hacer coincidir el término con Goo abc. Si no se proporciona ninguna compensación, el servicio usará todo el período. Por lo general, el desplazamiento debe establecerse en la posición del cursor de texto.

  • radio

    Define la distancia (en metros) dentro de la cual se deben devolver los resultados de lugares. Puedes personalizar los resultados para un círculo específico si pasas los parámetros location y radius. Si lo haces, se le indicará al servicio Places que prefiera mostrar resultados dentro de ese círculo, pero es posible que también se muestren resultados fuera del área definida.

    El radio se ajustará automáticamente a un valor máximo según el tipo de búsqueda y otros parámetros.

    • Autocompletar: 50,000 metros
    • Nearby Search:
      • Con keyword o name: 50,000 metros
      • sin keyword o name
        • Hasta 50,000 metros, ajustado de forma dinámica según la densidad del área, independientemente del parámetro rankby.
        • Cuando se usa rankby=distance, no se aceptará el parámetro de radio y se generará un INVALID_REQUEST.
    • Autocompletar búsquedas: 50,000 metros
    • Text Search: 50,000 metros

Ejemplos de Query Autocomplete (heredado)

URL

https://maps.googleapis.com/maps/api/place/queryautocomplete/json
  ?input=pizza%20near%20par
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/place/queryautocomplete/json?input=pizza%20near%20par&key=YOUR_API_KEY'

Una solicitud "Pizza cerca de Par", con resultados en francés:

URL

https://maps.googleapis.com/maps/api/place/queryautocomplete/json
  ?input=pizza%20near%20par
  &language=fr
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/place/queryautocomplete/json?input=pizza%20near%20par&language=fr&key=YOUR_API_KEY'

Ten en cuenta que deberás reemplazar la clave de API en estos ejemplos por tu propia clave.

Respuesta de Query Autocomplete (heredado)

Las respuestas de Autocompletar búsquedas (legado) se muestran en el formato indicado por la marca output dentro de la ruta de la solicitud de URL. Los resultados que se muestran a continuación corresponden a una búsqueda con los siguientes parámetros:

URL

https://maps.googleapis.com/maps/api/place/queryautocomplete/json
  ?input=pizza%20near%20par
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/place/queryautocomplete/json?input=pizza%20near%20par&key=YOUR_API_KEY'

JSON

{
  "predictions":
    [
      {
        "description": "pizza near Paris, France",
        "matched_substrings":
          [{ "length": 5, "offset": 0 }, { "length": 3, "offset": 11 }],
        "structured_formatting":
          {
            "main_text": "pizza",
            "main_text_matched_substrings": [{ "length": 5, "offset": 0 }],
            "secondary_text": "near Paris, France",
            "secondary_text_matched_substrings": [{ "length": 3, "offset": 5 }],
          },
        "terms":
          [
            { "offset": 0, "value": "pizza" },
            { "offset": 6, "value": "near" },
            { "offset": 11, "value": "Paris" },
            { "offset": 18, "value": "France" },
          ],
      },
      {
        "description": "pizza near Pari Chowk, NRI City, Omega II, Noida, Uttar Pradesh, India",
        "matched_substrings":
          [{ "length": 5, "offset": 0 }, { "length": 3, "offset": 11 }],
        "structured_formatting":
          {
            "main_text": "pizza",
            "main_text_matched_substrings": [{ "length": 5, "offset": 0 }],
            "secondary_text": "near Pari Chowk, NRI City, Omega II, Noida, Uttar Pradesh, India",
            "secondary_text_matched_substrings": [{ "length": 3, "offset": 5 }],
          },
        "terms":
          [
            { "offset": 0, "value": "pizza" },
            { "offset": 6, "value": "near" },
            { "offset": 11, "value": "Pari Chowk" },
            { "offset": 23, "value": "NRI City" },
            { "offset": 33, "value": "Omega II" },
            { "offset": 43, "value": "Noida" },
            { "offset": 50, "value": "Uttar Pradesh" },
            { "offset": 65, "value": "India" },
          ],
      },
      {
        "description": "pizza near Disneyland Park, Disneyland Drive, Anaheim, CA, USA",
        "matched_substrings":
          [{ "length": 5, "offset": 0 }, { "length": 3, "offset": 22 }],
        "structured_formatting":
          {
            "main_text": "pizza",
            "main_text_matched_substrings": [{ "length": 5, "offset": 0 }],
            "secondary_text": "near Disneyland Park, Disneyland Drive, Anaheim, CA, USA",
            "secondary_text_matched_substrings":
              [{ "length": 3, "offset": 16 }],
          },
        "terms":
          [
            { "offset": 0, "value": "pizza" },
            { "offset": 6, "value": "near" },
            { "offset": 11, "value": "Disneyland Park" },
            { "offset": 28, "value": "Disneyland Drive" },
            { "offset": 46, "value": "Anaheim" },
            { "offset": 55, "value": "CA" },
            { "offset": 59, "value": "USA" },
          ],
      },
      {
        "description": "pizza near Cathédrale Notre-Dame de Paris, Parvis Notre-Dame - place Jean-Paul-II, Paris, France",
        "matched_substrings":
          [{ "length": 5, "offset": 0 }, { "length": 3, "offset": 36 }],
        "structured_formatting":
          {
            "main_text": "pizza",
            "main_text_matched_substrings": [{ "length": 5, "offset": 0 }],
            "secondary_text": "near Cathédrale Notre-Dame de Paris, Parvis Notre-Dame - place Jean-Paul-II, Paris, France",
            "secondary_text_matched_substrings":
              [{ "length": 3, "offset": 30 }],
          },
        "terms":
          [
            { "offset": 0, "value": "pizza" },
            { "offset": 6, "value": "near" },
            { "offset": 11, "value": "Cathédrale Notre-Dame de Paris" },
            { "offset": 43, "value": "Parvis Notre-Dame - place Jean-Paul-II" },
            { "offset": 83, "value": "Paris" },
            { "offset": 90, "value": "France" },
          ],
      },
      {
        "description": "pizza near Paris Beauvais Airport, Route de l'Aéroport, Tillé, France",
        "matched_substrings":
          [{ "length": 5, "offset": 0 }, { "length": 3, "offset": 11 }],
        "structured_formatting":
          {
            "main_text": "pizza",
            "main_text_matched_substrings": [{ "length": 5, "offset": 0 }],
            "secondary_text": "near Paris Beauvais Airport, Route de l'Aéroport, Tillé, France",
            "secondary_text_matched_substrings": [{ "length": 3, "offset": 5 }],
          },
        "terms":
          [
            { "offset": 0, "value": "pizza" },
            { "offset": 6, "value": "near" },
            { "offset": 11, "value": "Paris Beauvais Airport" },
            { "offset": 35, "value": "Route de l'Aéroport" },
            { "offset": 56, "value": "Tillé" },
            { "offset": 63, "value": "France" },
          ],
      },
    ],
  "status": "OK",
}
    

XML

      
<AutocompletionResponse>
 <status>OK</status>
 <prediction>
  <description>pizza near Paris, France</description>
  <term>
   <value>pizza</value>
   <offset>0</offset>
  </term>
  <term>
   <value>near</value>
   <offset>6</offset>
  </term>
  <term>
   <value>Paris</value>
   <offset>11</offset>
  </term>
  <term>
   <value>France</value>
   <offset>18</offset>
  </term>
  <matched_substring>
   <offset>0</offset>
   <length>5</length>
  </matched_substring>
  <matched_substring>
   <offset>11</offset>
   <length>3</length>
  </matched_substring>
  <structured_formatting>
   <description>pizza</description>
   <subdescription>near Paris, France</subdescription>
   <description_matched_substring>
    <offset>0</offset>
    <length>5</length>
   </description_matched_substring>
   <subdescription_matched_substring>
    <offset>5</offset>
    <length>3</length>
   </subdescription_matched_substring>
  </structured_formatting>
 </prediction>
 <prediction>
  <description>pizza near Pari Chowk, NRI City, Omega II, Noida, Uttar Pradesh, India</description>
  <term>
   <value>pizza</value>
   <offset>0</offset>
  </term>
  <term>
   <value>near</value>
   <offset>6</offset>
  </term>
  <term>
   <value>Pari Chowk</value>
   <offset>11</offset>
  </term>
  <term>
   <value>NRI City</value>
   <offset>23</offset>
  </term>
  <term>
   <value>Omega II</value>
   <offset>33</offset>
  </term>
  <term>
   <value>Noida</value>
   <offset>43</offset>
  </term>
  <term>
   <value>Uttar Pradesh</value>
   <offset>50</offset>
  </term>
  <term>
   <value>India</value>
   <offset>65</offset>
  </term>
  <matched_substring>
   <offset>0</offset>
   <length>5</length>
  </matched_substring>
  <matched_substring>
   <offset>11</offset>
   <length>3</length>
  </matched_substring>
  <structured_formatting>
   <description>pizza</description>
   <subdescription>near Pari Chowk, NRI City, Omega II, Noida, Uttar Pradesh, India</subdescription>
   <description_matched_substring>
    <offset>0</offset>
    <length>5</length>
   </description_matched_substring>
   <subdescription_matched_substring>
    <offset>5</offset>
    <length>3</length>
   </subdescription_matched_substring>
  </structured_formatting>
 </prediction>
 <prediction>
  <description>pizza near Disneyland Park, Disneyland Drive, Anaheim, CA, USA</description>
  <term>
   <value>pizza</value>
   <offset>0</offset>
  </term>
  <term>
   <value>near</value>
   <offset>6</offset>
  </term>
  <term>
   <value>Disneyland Park</value>
   <offset>11</offset>
  </term>
  <term>
   <value>Disneyland Drive</value>
   <offset>28</offset>
  </term>
  <term>
   <value>Anaheim</value>
   <offset>46</offset>
  </term>
  <term>
   <value>CA</value>
   <offset>55</offset>
  </term>
  <term>
   <value>USA</value>
   <offset>59</offset>
  </term>
  <matched_substring>
   <offset>0</offset>
   <length>5</length>
  </matched_substring>
  <matched_substring>
   <offset>22</offset>
   <length>3</length>
  </matched_substring>
  <structured_formatting>
   <description>pizza</description>
   <subdescription>near Disneyland Park, Disneyland Drive, Anaheim, CA, USA</subdescription>
   <description_matched_substring>
    <offset>0</offset>
    <length>5</length>
   </description_matched_substring>
   <subdescription_matched_substring>
    <offset>16</offset>
    <length>3</length>
   </subdescription_matched_substring>
  </structured_formatting>
 </prediction>
 <prediction>
  <description>pizza near Cathédrale Notre-Dame de Paris, Parvis Notre-Dame - place Jean-Paul-II, Paris, France</description>
  <term>
   <value>pizza</value>
   <offset>0</offset>
  </term>
  <term>
   <value>near</value>
   <offset>6</offset>
  </term>
  <term>
   <value>Cathédrale Notre-Dame de Paris</value>
   <offset>11</offset>
  </term>
  <term>
   <value>Parvis Notre-Dame - place Jean-Paul-II</value>
   <offset>43</offset>
  </term>
  <term>
   <value>Paris</value>
   <offset>83</offset>
  </term>
  <term>
   <value>France</value>
   <offset>90</offset>
  </term>
  <matched_substring>
   <offset>0</offset>
   <length>5</length>
  </matched_substring>
  <matched_substring>
   <offset>36</offset>
   <length>3</length>
  </matched_substring>
  <structured_formatting>
   <description>pizza</description>
   <subdescription>near Cathédrale Notre-Dame de Paris, Parvis Notre-Dame - place Jean-Paul-II, Paris, France</subdescription>
   <description_matched_substring>
    <offset>0</offset>
    <length>5</length>
   </description_matched_substring>
   <subdescription_matched_substring>
    <offset>30</offset>
    <length>3</length>
   </subdescription_matched_substring>
  </structured_formatting>
 </prediction>
 <prediction>
  <description>pizza near Paris Beauvais Airport, Route de l'Aéroport, Tillé, France</description>
  <term>
   <value>pizza</value>
   <offset>0</offset>
  </term>
  <term>
   <value>near</value>
   <offset>6</offset>
  </term>
  <term>
   <value>Paris Beauvais Airport</value>
   <offset>11</offset>
  </term>
  <term>
   <value>Route de l'Aéroport</value>
   <offset>35</offset>
  </term>
  <term>
   <value>Tillé</value>
   <offset>56</offset>
  </term>
  <term>
   <value>France</value>
   <offset>63</offset>
  </term>
  <matched_substring>
   <offset>0</offset>
   <length>5</length>
  </matched_substring>
  <matched_substring>
   <offset>11</offset>
   <length>3</length>
  </matched_substring>
  <structured_formatting>
   <description>pizza</description>
   <subdescription>near Paris Beauvais Airport, Route de l'Aéroport, Tillé, France</subdescription>
   <description_matched_substring>
    <offset>0</offset>
    <length>5</length>
   </description_matched_substring>
   <subdescription_matched_substring>
    <offset>5</offset>
    <length>3</length>
   </subdescription_matched_substring>
  </structured_formatting>
 </prediction>
</AutocompletionResponse>
    
   

Cuando el servicio Places devuelve resultados en formato JSON de una búsqueda, los coloca dentro de un array predictions. Incluso si el servicio no devuelve ningún resultado (por ejemplo, si el location es remoto), devuelve un array predictions vacío. Las respuestas XML constan de cero o más elementos <prediction>.

PlacesQueryAutocompleteResponse

Campo Obligatorio Tipo Descripción
required Arreglo<PlaceAutocompletePrediction>

Contiene un array de predicciones.

Consulta PlaceAutocompletePrediction para obtener más información.

required PlacesAutocompleteStatus

Contiene el estado de la solicitud y puede incluir información de depuración para ayudarte a identificar el motivo del error en la solicitud.

Consulta PlacesAutocompleteStatus para obtener más información.

opcional string

Cuando el servicio devuelve un código de estado que no es OK, es posible que haya un campo error_message adicional dentro del objeto de respuesta. Este campo contiene información más detallada sobre los motivos del código de estado proporcionado. Este campo no siempre se devuelve y su contenido está sujeto a cambios.

opcional Arreglo<cadena>

Cuando el servicio devuelve información adicional sobre la especificación de la solicitud, puede haber un campo info_messages adicional dentro del objeto de respuesta. Este campo solo se devuelve para las solicitudes exitosas. Es posible que no siempre se devuelva y su contenido está sujeto a cambios.

PlacesAutocompleteStatus

Son los códigos de estado que muestra el servicio.

  • OK: Indica que la solicitud a la API se realizó correctamente.
  • ZERO_RESULTS indica que la búsqueda se realizó correctamente, pero no devolvió ningún resultado. Esto puede ocurrir si se pasó una búsqueda con límites en una ubicación remota.
  • INVALID_REQUEST, que indica que la solicitud a la API tenía un formato incorrecto, por lo general, debido a la falta del parámetro input
  • OVER_QUERY_LIMIT que indica cualquiera de las siguientes opciones:
    • Superaste los límites de QPS.
    • No se habilitó la facturación en tu cuenta.
    • Se superó el crédito mensual de USD 200 o un límite de uso autoimpuesto.
    • La forma de pago proporcionada ya no es válida (por ejemplo, si venció una tarjeta de crédito).
    Consulta las Preguntas frecuentes de Maps para obtener más información sobre cómo resolver este error.
  • REQUEST_DENIED indica que se rechazó tu solicitud, generalmente por los siguientes motivos:
    • Falta una clave de API en la solicitud.
    • El parámetro key no es válido.
  • UNKNOWN_ERROR: Indica un error desconocido.

Cuando el servicio de Places devuelve resultados JSON de una búsqueda, los coloca dentro de un array predictions. Incluso si el servicio no devuelve resultados (por ejemplo, si el location es remoto), devuelve un array predictions vacío. Las respuestas XML constan de cero o más elementos <prediction>.

PlaceAutocompletePrediction

Campo Obligatorio Tipo Descripción
required string

Contiene el nombre legible del resultado devuelto. En el caso de los resultados de establishment, suele ser el nombre de la empresa. Este contenido se debe leer tal como está. No analices la dirección con formato de manera programática.

required Arreglo<PlaceAutocompleteMatchedSubstring>

Es una lista de subcadenas que describen la ubicación del término ingresado en el texto del resultado de la predicción, de modo que el término se pueda destacar si se desea.

Consulta PlaceAutocompleteMatchedSubstring para obtener más información.

required PlaceAutocompleteStructuredFormat

Proporciona texto con formato previo que se puede mostrar en los resultados de autocompletado. Este contenido se debe leer tal como está. No analices la dirección con formato de manera programática.

Consulta PlaceAutocompleteStructuredFormat para obtener más información.

required Arreglo<PlaceAutocompleteTerm>

Contiene un array de términos que identifican cada sección de la descripción devuelta (por lo general, una sección de la descripción termina con una coma). Cada entrada del array tiene un campo value, que contiene el texto del término, y un campo offset, que define la posición inicial de este término en la descripción, medida en caracteres Unicode.

Consulta PlaceAutocompleteTerm para obtener más información.

opcional integer

Es la distancia en línea recta desde el origen, expresada en metros. Este campo solo se devuelve para las solicitudes realizadas con un origin.

opcional string

un identificador textual que identifica de forma exclusiva un sitio. Para recuperar información sobre el lugar, pasa este identificador en el campo placeId de una solicitud a la API de Places. Para obtener más información sobre los IDs de lugar, consulta la descripción general de los IDs de lugar.

opcional string

Consulta place_id.

opcional Arreglo<cadena>

Contiene un array de tipos que se aplican a este lugar. Por ejemplo: [ "political", "locality" ] o [ "establishment", "geocode", "beauty_salon" ]. El array puede contener varios valores. Obtén más información sobre los tipos de lugares.

PlaceAutocompleteMatchedSubstring

Campo Obligatorio Tipo Descripción
required número

Longitud de la subcadena coincidente en el texto del resultado de la predicción.

required número

Ubicación inicial de la subcadena coincidente en el texto del resultado de la predicción.

PlaceAutocompleteStructuredFormat

Campo Obligatorio Tipo Descripción
required string

Contiene el texto principal de una predicción, que suele ser el nombre del lugar.

required Arreglo<PlaceAutocompleteMatchedSubstring>

Contiene un array con el valor offset y length. Describen la ubicación del término ingresado en el texto del resultado de la predicción, de modo que el término se pueda destacar si se desea.

Consulta PlaceAutocompleteMatchedSubstring para obtener más información.

opcional string

Contiene el texto secundario de una predicción, que suele ser la ubicación del lugar.

opcional Arreglo<PlaceAutocompleteMatchedSubstring>

Contiene un array con el valor offset y length. Describen la ubicación del término ingresado en el texto del resultado de la predicción, de modo que el término se pueda destacar si se desea.

Consulta PlaceAutocompleteMatchedSubstring para obtener más información.

PlaceAutocompleteTerm

Campo Obligatorio Tipo Descripción
required número

Define la posición inicial de este término en la descripción, medida en caracteres Unicode.

required string

Es el texto del término.