Migrar para o Nearby Search (novo)

A API Places oferece suporte à Nearby Search. Se você já conhece a Pesquisa Nearby atual, a nova versão faz as seguintes mudanças:

  • A nova Pesquisa nas proximidades usa solicitações HTTP POST. Transmita parâmetros no corpo da solicitação ou em cabeçalhos como parte de uma solicitação HTTP POST. Por outro lado, com o Nearby Search atual, você transmite parâmetros de URL usando uma solicitação HTTP GET.
  • O mascaramento de campo é obrigatório. É necessário especificar quais campos você quer que sejam retornados na resposta. Não há uma lista padrão de campos retornados. Se você omitir essa lista, os métodos vão retornar um erro. Para mais informações, consulte FieldMask.
  • A nova Pesquisa nas proximidades oferece suporte a chaves de API e tokens OAuth como mecanismo de autenticação.
  • Somente JSON é aceito como um formato de resposta na nova Pesquisa por proximidades.
  • Todas as solicitações que incluem uma consulta de texto agora precisam usar o Text Search (novo), porque o Nearby Search (novo) não tem suporte para entrada de texto.
  • O formato da resposta JSON da API Nearby Search (New) mudou em relação ao formato das APIs atuais. Para mais detalhes, consulte Migrar a resposta da API Places.

A tabela a seguir lista parâmetros na Pesquisa Próxima que foram renomeados ou modificados para a nova Pesquisa Próximos ou que não são mais compatíveis.

Parâmetro atual Novo parâmetro Observações
keyword Incompatível. Use a Pesquisa de texto (novo).
language languageCode
location locationRestriction Obrigatório.
maxprice/minprice Incompatível.
maxResultCount Novo parâmetro.
opennow Incompatível.
pagetoken Incompatível.
radius Use locationRestriction agora.
rankby rankPreference
regionCode Novo parâmetro.
type includedTypes
excludedTypes
includedPrimaryTypes
excludedPrimaryTypes
Os novos parâmetros também aceitam vários valores de tipo. A API atual só aceita um único valor.

Exemplo de solicitação

O exemplo de solicitação GET a seguir usa a Pesquisa por perto. Neste exemplo, você solicita uma resposta JSON contendo informações sobre lugares do tipo restaurant e transmite todos os parâmetros como parâmetros de URL:

curl -L -X GET \
'https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=37.7937%2C-122.3965&radius=500&type=restaurant&key=API_KEY'

Com o Nearby Search (novo), você faz uma solicitação POST e transmite todos os parâmetros no corpo da solicitação JSON ou em cabeçalhos como parte da solicitação POST. Este exemplo também usa uma máscara de campo para que a resposta inclua apenas o nome de exibição e o endereço formatado do local:

curl -X POST -d '{
  "includedTypes": ["restaurant"],
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7937,
        "longitude": -122.3965},
      "radius": 500.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.displayName,places.formattedAddress" \
https://places.googleapis.com/v1/places:searchNearby