Migrar para o Nearby Search (novo)

A API Places é compatível com a Nearby Search já existente. Se você estiver familiarizado com o Nearby Search existente, a nova versão fará as seguintes alterações:

  • A nova Nearby Search usa solicitações POST HTTP. Transmita parâmetros no corpo ou nos cabeçalhos da solicitação como parte de uma solicitação POST HTTP. Por outro lado, com o Nearby Search existente, 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 retornar na resposta. Não há uma lista padrão de campos retornados. Se você omitir essa lista, os métodos retornarão um erro. Para mais informações, consulte FieldMask.
  • O novo Nearby Search é compatível com chaves de API e tokens OAuth como mecanismo de autenticação.
  • Somente JSON é aceito como formato de resposta no novo Nearby Search.
  • Todas as solicitações que incluem uma consulta de texto agora precisam usar Text Search (novo), porque o Nearby Search (novo) não é compatível com a entrada de texto.
  • O formato de resposta JSON para a Nearby Search (nova) API foi alterado do formato das APIs existentes. Se quiser mais detalhes, consulte Migrar a resposta da API Places.

A tabela a seguir lista os parâmetros no Nearby Search que foram renomeados ou modificados para o novo Nearby Search ou aqueles que não são mais compatíveis.

Parâmetro atual Novo parâmetro Observações
keyword Incompatível. Em vez disso, use o Text Search (novo).
language languageCode
location locationRestriction Obrigatório.
maxprice/minprice Incompatível.
maxResultCount Novo parâmetro.
opennow Incompatível.
pagetoken Incompatível.
radius Use o 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 aceita apenas um valor.

Exemplo de solicitação

O exemplo de solicitação GET a seguir usa a Nearby Search existente. Neste exemplo, você solicita uma resposta JSON com informações sobre locais 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 passa todos os parâmetros no corpo da solicitação JSON ou nos cabeçalhos como parte dela. 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 lugar:

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