Preenchimento automático (novo)

Selecione a plataforma: Android iOS JavaScript Web Service

O serviço de preenchimento automático (novo) é um serviço da Web que retorna lugares previsões e de consultas em resposta a uma solicitação HTTP. Na solicitação, especifique um texto string de pesquisa e limites geográficos que controlam a área de pesquisa.

O serviço Autocomplete (novo) pode encontrar correspondências em palavras completas e substrings da entrada, resolvendo nomes de lugares, endereços e Plus Codes Assim, os aplicativos podem enviar conforme o usuário digita, para fornecer previsões imediatas de locais e consultas.

A resposta da API Autocomplete (novo) pode conter dois tipos das previsões:

  • Previsões de locais: lugares, como empresas, endereços e pontos de interesse, com base na string de texto de entrada e na área de pesquisa especificadas. As previsões de lugares são retornados por padrão.
  • Previsões de consulta: strings de consulta que correspondem à string de texto de entrada e área de pesquisa. As previsões de consulta não são retornadas por padrão. Use o o parâmetro de solicitação includeQueryPredictions para adicionar previsões de consulta ao resposta.

Por exemplo, você chama a API usando como entrada uma string que contém uma entrada parcial do usuário, "Piz Sicilian", com a área de pesquisa limitada a São Francisco, CA. A resposta, então, contém uma lista de previsões de local que correspondem à string de pesquisa e à área de pesquisa, como o restaurante chamado "Sicilian Pizza Kitchen", com detalhes sobre o local.

As previsões de local retornadas são projetadas para serem apresentadas ao usuário com o objetivo de ajudar na seleção do local desejado. É possível fazer uma Place Details (novo) para obter mais informações sobre qualquer uma das previsões de local retornadas.

A resposta também pode conter uma lista de previsões de consulta que correspondam ao string de pesquisa e área de pesquisa, como "Sicilian Pizza & Massa". Cada previsão de consulta no A resposta inclui o campo text, que contém uma string de pesquisa de texto recomendada. Use isso string como entrada para Text Search (novo) para realizar uma pesquisa mais detalhada.

O APIs Explorer permite que você faça solicitações ativas para se familiarizar com a API e a Opções de API:

Faça um teste

Solicitações de Autocomplete (novo)

Uma solicitação de Autocomplete (novo) é uma solicitação HTTP POST para um URL em o formulário:

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

Transmita todos os parâmetros no corpo da solicitação JSON ou nos cabeçalhos como parte da solicitação POST. Exemplo:

curl -X POST -d '{
  "input": "pizza",
  "locationBias": {
    "circle": {
      "center": {
        "latitude": 37.7937,
        "longitude": -122.3965
      },
      "radius": 500.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

Sobre a resposta

O Autocomplete (novo) retorna um objeto JSON como resposta. Na resposta:

  • A matriz suggestions contém todos os lugares e consultas previstos em ordem com base na relevância percebida. Cada local é representado por uma placePrediction e cada consulta é representada por um campo queryPrediction.
  • Um campo placePrediction contém informações detalhadas sobre um único previsão de lugar, incluindo o ID do lugar e a descrição em texto.
  • Um campo queryPrediction contém informações detalhadas sobre um único previsão da consulta.

O objeto JSON completo está no formato:

{
  "suggestions": [
    {
      "placePrediction": {
        "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "text": {
          "text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }]
        },
      ...
    },
    {
      "queryPrediction": {
        "text": {
          "text": "Amoeba Music",
          "matches": [
            {
              "endOffset": 6
            }]
        },
        ...
    }
  ...]
}

Parâmetros obrigatórios

  • entrada

    A string de texto na qual pesquisar. Especifique palavras completas e substrings, nomes de lugares, endereços e Plus Codes. O serviço Autocomplete (novo) retorna correspondências possíveis de acordo com essa string e ordena os resultados com base em sua relevância percebida.

Parâmetros opcionais

  • includedPrimaryTypes

    Um lugar só pode ter um único tipo principal dentre os listados em Tabela A ou Tabela B. Por exemplo: o tipo principal pode ser "mexican_restaurant" ou "steak_house".

    Por padrão, a API retorna todos os locais com base no parâmetro input, independentemente do valor do tipo principal associado ao lugar. Restringir os resultados para que correspondam a um determinado tipo primário ou principais, transmitindo o parâmetro includedPrimaryTypes.

    Use esse parâmetro para especificar até cinco valores de tipo da Tabela A ou Tabela B. Um lugar deve corresponder a um dos valores de tipo primário especificados a serem incluídos na resposta.

    Em vez disso, esse parâmetro também pode incluir (regions) ou (cities). A coleção de tipos (regions) filtra áreas ou divisões, como bairros e códigos postais. A coleção de tipos (cities) filtra os lugares que o Google identifica como uma cidade.

    A solicitação será rejeitada com um erro INVALID_REQUEST se:

    • Mais de cinco tipos foram especificados.
    • Qualquer tipo é especificado, além de (cities) ou (regions).
    • Todos os tipos não reconhecidos foram especificados.
  • includeQueryPredictions

    Se true, a resposta inclui previsões de local e consulta. O padrão o valor é false, o que significa que a resposta inclui apenas previsões de lugar.

  • includedRegionCodes

    Incluir apenas os resultados da lista de regiões especificadas, definidas como uma matriz de até 15 ccTLD ("domínio de nível superior") valores de dois caracteres. Se omitido, nenhuma restrição será aplicada à resposta. Por exemplo: para limitar as regiões à Alemanha e à França:

        "includedRegionCodes": ["de", "fr"]

    Se você especificar locationRestriction e includedRegionCodes, os resultados estão localizados na área de interseção das duas configurações.

  • inputOffset

    O deslocamento de caracteres Unicode baseado em zero que indica a posição do cursor em input. A posição do cursor pode influenciar quais previsões são retornadas. Se estiver vazio, o padrão será comprimento de input.

  • languageCode

    O idioma no qual os resultados serão retornados. Os resultados podem estar em idiomas mistos se o idioma usado no input for diferente do valor especificado por languageCode ou se o lugar retornado não tiver uma tradução do idioma local para languageCode.

    • Você deve usar o IETF Códigos de idioma BCP-47 para especificar o idioma preferido.
    • Se languageCode não for fornecido, a API usará o valor especificado no Cabeçalho Accept-Language. Se nenhum deles for especificado, o padrão será en: Se você especificar um código de idioma inválido, a API retornará uma INVALID_ARGUMENT erro.
    • O idioma preferido tem uma pequena influência no conjunto de resultados que a API escolhe retornar e a ordem em que eles são retornados. Isso também afeta a capacidade da API de corrigir erros de ortografia.
    • A API tenta fornecer um endereço que seja legível tanto para o usuário quanto para população local e, ao mesmo tempo, reflete a entrada do usuário. As previsões de lugares são formatados de forma diferente dependendo da entrada do usuário em cada solicitação.
      • Os termos correspondentes no parâmetro input são escolhidos primeiro, usando nomes alinhados com a preferência de idioma indicada pelo parâmetro languageCode ao disponíveis. Caso contrário, são usados nomes que melhor correspondem à entrada do usuário.
      • Os endereços são formatados no idioma local, em um script legível pelo usuário quando possível, somente depois que termos correspondentes forem escolhidos para corresponder aos termos no parâmetro input.
      • Todos os outros endereços serão retornados no idioma de preferência, depois que os termos correspondentes forem foram escolhidos para corresponder aos termos no parâmetro input. Se um nome não for disponível no idioma preferido, a API usa a correspondência mais próxima.
  • locationBias ou locationRestriction

    É possível especificar locationBias ou locationRestriction, mas não ambos, para definir a área de pesquisa. Pense em locationRestriction como uma forma de a região onde os resultados devem estar, e locationBias como especificando a região a que os resultados precisam estar próximos, mas que podem estar fora na área.

    • locationBias

      Especifica uma área a ser pesquisada. Essa localização serve como um viés, o que significa resultados em torno do local especificado possam ser retornados, incluindo resultados fora da área especificada.

    • locationRestriction

      Especifica uma área a ser pesquisada. Os resultados fora da área especificada não são retornados.

    Especifique a região locationBias ou locationRestriction como um uma janela de visualização retangular ou em um círculo.

    • Um círculo é definido pelo ponto central e pelo raio em metros. O raio deve estar entre 0,0 e 50000,0, inclusive. O valor padrão é 0,0. Para o locationRestriction, você deve definir o raio como um valor maior que 0,0. Caso contrário, a solicitação retorna nenhum resultado.

      Exemplo:

      "locationBias": {
        "circle": {
          "center": {
            "latitude": 37.7937,
            "longitude": -122.3965
          },
          "radius": 500.0
        }
      }
    • Um retângulo é uma janela de visualização de latitude e longitude, representada como dois diagonalmente oposta a low e pontos altos. Uma janela de visualização é considerada uma região fechada, ou seja, inclui seus limites. Os limites de latitude deve variar entre -90 e 90 graus, inclusive, e os limites de longitude deve variar entre -180 e 180 graus:

      • Se low = high, a janela de visualização consistirá nesse único ponto.
      • Se low.longitude > high.longitude, o intervalo de longitude está invertido (a janela de visualização cruza a linha de 180 graus de longitude).
      • Se low.longitude = -180 graus e high.longitude = 180 graus, a janela de visualização inclui todas as longitudes.
      • Se low.longitude = 180 graus e high.longitude = -180 graus, o intervalo de longitude está vazio.

      low e high precisam ser preenchidos, e a caixa representada não pode ficar em branco. Uma janela de visualização vazia resulta em erro.

      Por exemplo, esta janela de visualização abrange totalmente Nova York:

      "locationBias": {
        "rectangle": {
          "low": {
            "latitude": 40.477398,
            "longitude": -74.259087
          },
          "high": {
            "latitude": 40.91618,
            "longitude": -73.70018
          }
        }
      }
  • origem

    O ponto de origem a partir do qual calcular a distância em linha reta até o destino (retornado como distanceMeters). Se esse valor for omitido, a distância em linha reta não será retornada. Deve ser especificado como coordenadas de latitude e longitude:

    "origin": {
        "latitude": 40.477398,
        "longitude": -74.259087
    }
  • regionCode

    O código da região usado para formatar a resposta, especificado como um ccTLD ("domínio de nível superior") um valor de dois caracteres. A maioria dos códigos ccTLD é idêntica aos códigos ISO 3166-1, com algumas exceções notáveis. Por exemplo, o ccTLD do Reino Unido é "uk" (.co.uk), enquanto o código ISO 3166-1 é "gb" (tecnicamente para os "Reino Unido da Grã-Bretanha e Irlanda do Norte").

    Se você especificar um código de região inválido, a API retornará um INVALID_ARGUMENT. erro. O parâmetro pode afetar os resultados com base na legislação aplicável.

  • sessionToken

    Os tokens de sessão são strings geradas pelo usuário que acompanham o preenchimento automático (Novo) chamadas como "sessões". O Autocomplete (novo) usa tokens de sessão para agrupar as fases de consulta e seleção de uma pesquisa de preenchimento automático do usuário em uma sessão discreta para para fins de cobrança. Para mais informações, consulte Tokens de sessão.

Exemplos de preenchimento automático (novo)

Usar locationRestriction e locationBias

A API usa a polarização de IP por padrão para controlar a área de pesquisa. Com a polarização de IP, a API usa o o endereço IP do dispositivo para influenciar os resultados. Opcionalmente, você pode usar locationRestriction ou locationBias, mas não ambos, para especificar uma área a ser pesquisada.

locationRestriction especifica a área a ser pesquisada. Resultados fora da área especificada não serão retornadas. No exemplo a seguir, você usa locationRestriction para limitar o solicitação para um círculo de 5.000 metros em um raio centrado em São Francisco:

curl -X POST -d '{
  "input": "Amoeba",
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 5000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

Todos os resultados das áreas especificadas estão contidos na matriz suggestions:

{
  "suggestions": [
    {
      "placePrediction": {
        "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "text": {
          "text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }
          ]
        },
        "structuredFormat": {
          "mainText": {
            "text": "Amoeba Music",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "secondaryText": {
            "text": "Haight Street, San Francisco, CA, USA"
          }
        },
        "types": [
          "home_goods_store",
          "establishment",
          "store",
          "point_of_interest",
          "electronics_store"
        ]
      }
    }
  ]
}

Com locationBias, a localização serve como um viés, ou seja, os resultados ao redor do local especificado pode ser retornado, incluindo resultados fora da área especificada. Nos próximos exemplo, você altera a solicitação para usar locationBias:

curl -X POST -d '{
  "input": "Amoeba",
  "locationBias": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 5000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

Os resultados agora contêm muito mais itens, incluindo fora do raio de 5.000 metros:

{
  "suggestions": [
    {
      "placePrediction": {
        "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "text": {
          "text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }
          ]
        },
        "structuredFormat": {
          "mainText": {
            "text": "Amoeba Music",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "secondaryText": {
            "text": "Haight Street, San Francisco, CA, USA"
          }
        },
        "types": [
          "electronics_store",
          "point_of_interest",
          "store",
          "establishment",
          "home_goods_store"
        ]
      }
    },
    {
      "placePrediction": {
        "place": "places/ChIJr7uwwy58hYARBY-e7-QVwqw",
        "placeId": "ChIJr7uwwy58hYARBY-e7-QVwqw",
        "text": {
          "text": "Amoeba Music, Telegraph Avenue, Berkeley, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }
          ]
        },
        "structuredFormat": {
          "mainText": {
            "text": "Amoeba Music",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "secondaryText": {
            "text": "Telegraph Avenue, Berkeley, CA, USA"
          }
        },
        "types": [
          "electronics_store",
          "point_of_interest",
          "establishment",
          "home_goods_store",
          "store"
        ]
      }
    },
    ...
  ]
}

UsarincludedPrimaryTypes

Use o parâmetro includedPrimaryTypes para especificar até cinco valores de tipo Tabela A, Tabela B, ou apenas (regions) ou apenas (cities). O lugar precisa corresponder a um dos valores do tipo primário sejam incluídos na resposta.

No exemplo a seguir, você especifica uma string input de "Futebol" e usar o parâmetro includedPrimaryTypes para restringir os resultados a estabelecimentos do tipo "sporting_goods_store":

curl -X POST -d '{
  "input": "Soccer",
  "includedPrimaryTypes": ["sporting_goods_store"],
  "locationBias": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 500.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

Se você omitir o parâmetro includedPrimaryTypes, os resultados poderão incluir estabelecimentos de um tipo que você não quer, como "athletic_field".

Solicitar previsões de consulta

As previsões de consulta não são retornadas por padrão. Usar a includeQueryPredictions para adicionar previsões de consulta à resposta. Exemplo:

curl -X POST -d '{
  "input": "Amoeba",
  "includeQueryPredictions": true,
  "locationBias": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 5000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

A matriz suggestions agora contém previsões de lugares e consultas conforme mostrado acima em Sobre a resposta. Cada previsão de consulta inclui o campo text, que contém uma string de pesquisa de texto recomendada. É possível fazer uma Text Search (novo) para obter mais informações sobre qualquer uma das previsões de consulta retornadas.

Usar origem

Neste exemplo, inclua origin na solicitação como coordenadas de latitude e longitude. Quando você inclui origin, a API inclui o campo distanceMeters na resposta que contém a distância em linha reta do origin até o destino. Este exemplo define a origem como o centro de São Francisco:

curl -X POST -d '{
  "input": "Amoeba",
  "origin": {
    "latitude": 37.7749,
    "longitude": -122.4194
  },
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 5000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

A resposta agora inclui distanceMeters:

{
  "suggestions": [
    {
      "placePrediction": {
        "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "text": {
          "text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }
          ]
        },
        "structuredFormat": {
          "mainText": {
            "text": "Amoeba Music",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "secondaryText": {
            "text": "Haight Street, San Francisco, CA, USA"
          }
        },
        "types": [
          "home_goods_store",
          "establishment",
          "point_of_interest",
          "store",
          "electronics_store"
        ],
        "distanceMeters": 3012
      }
    }
  ]
}

Confira!

Com o APIs Explorer, você pode fazer solicitações de amostra para se familiarizar com a API e as opções de API.

  1. Selecione o ícone da API, Expanda o APIs Explorer., no lado direito da página.
  2. Como opção, expanda Mostrar parâmetros padrão e defina O parâmetro fields à máscara de campo.
  3. É possível editar o Corpo da solicitação.
  4. Selecione o botão Execute. No pop-up, escolha a conta que você quer usar para fazer a solicitação.
  5. No painel do APIs Explorer, selecione o ícone de expansão, Expanda o APIs Explorer. para expandir a janela do APIs Explorer.