Resolver problemas

Confira algumas dicas para solucionar problemas comuns.

Por que o raio de precisão é muito grande?

Se a resposta da API Geolocation mostrar um valor muito alto no campo de precisão, o serviço poderá estar fazendo a geolocalização com base no IP da solicitação, em vez de pontos de Wi-Fi ou torres de celular. Esses tipos de respostas podem acontecer se o serviço não reconhecer nenhuma torre de celular ou ponto de acesso.

Para confirmar que o serviço não conseguiu geolocalizar seus pontos de acesso, defina considerIp como "false" na solicitação. Se a resposta for 404, você confirmou que os objetos wifiAccessPoints e cellTowers não puderam ser geolocalizados.

Como faço para solucionar um erro de resposta?

Se a solicitação gerar um erro, o sistema vai retornar um corpo de resposta de erro de formato padrão e definir o código de status HTTP como um status de erro.

A resposta de erro contém um objeto com um único objeto de erro com as seguintes chaves:

  • code: é o mesmo que o status HTTP da resposta.
  • message: uma breve descrição do erro.
  • errors: uma lista de erros que ocorreram. Cada erro contém um identificador para o tipo de erro (o motivo) e uma breve descrição (a mensagem).

Por exemplo, o envio de um JSON inválido retorna o seguinte erro:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "parseError",
    "message": "Parse Error",
   }
  ],
  "code": 400,
  "message": "Parse Error"
 }
}

Coletar informações de teste de dispositivos

Para testes adicionais, você pode coletar informações do dispositivo usando os serviços de localização integrados oferecidos por cada plataforma:

Descrições de erros

Confira os possíveis erros que podem ocorrer com as descrições.

Motivo Domínio Código de status HTTP Descrição
dailyLimitExceeded usageLimits 403 Você excedeu seu limite diário.
keyInvalid usageLimits 400 Sua chave de API não é válida para a API Geolocation. Inclua a chave inteira e verifique se você comprou a API ou ativou o faturamento e a API para receber a cota sem custo financeiro.
userRateLimitExceeded usageLimits 403 Você excedeu o limite de solicitações configurado no Console do Google Cloud. Esse limite normalmente é definido como solicitações por dia, solicitações por 100 segundos, e solicitações por 100 segundos por usuário. Configure o limite para impedir que um único usuário ou um pequeno grupo de usuários esgote sua cota diária, mas ainda permita acesso razoável a todos os usuários. Consulte Como limitar o uso da API para configurar esses limites.
notFound geolocation 404 A solicitação era válida, mas não retornou resultados.
parseError global 400 O corpo da solicitação não é um JSON válido. Consulte a Corpo da solicitação seção para detalhes sobre cada campo.