Solução de problemas

Erros

Em caso de erros, um corpo de resposta de erro com formato padrão será retornado e o código de status HTTP será definido como um status de erro.

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

  • code: esse valor é o mesmo que o status HTTP da resposta.
  • message: uma breve descrição do erro.
  • status: um código de status indicando a natureza do erro.

Por exemplo, o envio de um parâmetro placeId inválido retorna o seguinte erro:

{
  "error": {
    "code": 400,
    "message": "\"placeId\" value is malformed: \"aChIJqaknMTeuEmsRUYCD5Wd9ARM\"",
    "status": "INVALID_ARGUMENT"
  }
}

Os possíveis erros são:

Código Status Mensagem Solução de problemas
400 INVALID_ARGUMENT A chave fornecida é inválida. Sua chave de API não é válida ou não foi incluída na solicitação. Não deixe de usar a chave inteira e ativar a API para a chave.
400 INVALID_ARGUMENT O parâmetro "\"path\" contém um valor inválido: ☃" Sua solicitação contém argumentos inválidos. As causas mais prováveis desse erro são:
  • Há um problema com o parâmetro path.
    Verifique se você tem entre 1 e 100 pontos. Cada ponto deve ser um par de números separados por uma vírgula, como: 48.409114,-123.369158. Os pontos devem ser separados por uma barra vertical: '|'.
  • Sua solicitação incluiu um placeId inválido.
  • Sua solicitação incluiu placeIds e um path. Somente um desses parâmetros pode ser especificado para cada solicitação.

Esse erro não será retornado se uma placeId for transmitida para uma estrada que não existe mais ou para um lugar que não é uma estrada.

403 PERMISSION_DENIED Uma solicitação não registrada foi bloqueada. Faça login usando o Console do Desenvolvedor do Google. A solicitação foi negada por um ou mais dos seguintes motivos:
  • A chave de API está ausente ou é inválida.
  • O faturamento não foi ativado na sua conta.
  • Um limite de uso definido pelo próprio usuário foi excedido.
  • A forma de pagamento fornecida não é mais válida (por exemplo, o cartão de crédito expirou).

Para usar os produtos da Plataforma Google Maps, o faturamento precisa estar ativado na sua conta, e todas as solicitações precisam incluir uma chave de API válida. Para corrigir isso, siga estas etapas:

404 NOT_FOUND O HTTPS é obrigatório para esse serviço. Verifique se você está enviando solicitações para https://roads.googleapis.com/, e não http://roads.googleapis.com/.
429 RESOURCE_EXHAUSTED A solicitação foi limitada porque os limites de solicitações do projeto foram atingidos. Você excedeu o limite de solicitações configurado no Console do Google Cloud Platform. Esse limite geralmente é definido como solicitações por dia, por 100 segundos e por 100 segundos por usuário. Esse limite deve ser configurado para evitar que um usuário ou grupo de usuários esgote sua cota diária, mas ainda assim permitir um acesso razoável a todos. Consulte Como limitar o uso da API para configurar esses limites.

Espera exponencial

Quando as solicitações falham, você precisa garantir que novas tentativas tenham uma espera exponencial. Por exemplo, se uma solicitação falhar uma vez, tente novamente após um segundo. Se falhar de novo, tente novamente após dois segundos, depois quatro segundos e assim por diante. Isso garante que solicitações inválidas ou falhas em grande escala não sobrecarreguem os servidores do Google, já que muitos clientes tentam repetir as solicitações muito rapidamente.

Perguntas frequentes sobre solução de problemas

Problemas de implementação

Com que frequência devo coletar dados da localização do veículo?
A cada 1 a 10 segundos é recomendado para resultados de encaixe na estrada de alta qualidade.
Há um limite para o número de pontos que posso enviar por consulta?
Sim, uma consulta pode ter no máximo 100 pontos.
Qual nível de precisão devo usar para armazenar meus pares de latitude/longitude agrupados?
Para garantir que os caminhos fixados sigam as vias em todos os níveis de zoom, mesmo no nível máximo, armazene os pares de latitude/longitude fixados com 7 casas decimais.
Posso usar polilinhas codificadas para mostrar caminhos fixados?
As polilinhas codificadas são especificadas apenas com uma precisão de cinco casas decimais, o que resulta em um erro de aproximadamente 2 metros. Portanto, as polilinhas codificadas não são adequadas se você quiser que os caminhos fixados sigam a estrada em níveis de zoom altos.

Problemas comuns

Alguns pontos não estão sendo encaixados ou há lacunas nos caminhos encaixados. Como posso corrigir isso?
  • Se você estiver coletando amostras dos pontos em intervalos programados, verifique se eles são amostrados em intervalos mais curtos (a cada 1 a 10 segundos). Se um intervalo mais longo for usado (por exemplo, 60 segundos), o algoritmo de ajuste à via talvez não consiga determinar as vias percorridas com precisão suficiente.
  • Se você clicar manualmente em um mapa para criar pontos, será muito fácil criar caminhos com poucos pontos ou pontos dispersos que o algoritmo de ajuste não processa bem. O algoritmo de direcionamento funciona melhor quando os pontos estão próximos. Teste a demonstração do recurso Snap to Roads ou use o inspetor de vias para testar seus caminhos.
Por que os caminhos encaixados ficam irregulares ou ligeiramente fora da estrada quando eu faço zoom?
  • Você está truncando a precisão dos pares de latitude/longitude fixados antes de mostrá-los? Armazenar pares de latitude/longitude fixados com uma precisão de menos de sete casas decimais causa erros de precisão quando o caminho fixado é exibido no mapa.
  • Você está usando polilinhas codificadas? Polilinhas codificadas truncam pares de latitude/longitude para cinco casas decimais, o que introduz um erro de vários metros, resultando em linhas irregulares ou ligeiramente fora da estrada em níveis de zoom altos.

Se nenhuma das opções acima for o caso, os blocos do mapa podem ter sido atualizados recentemente, fazendo com que eles fiquem fora de sincronia com o índice de vias usado para ajustar. Se apenas algumas das suas consultas forem afetadas, essa é provavelmente a causa. Como o Google Maps é atualizado regularmente, isso pode acontecer ocasionalmente, e pode ocorrer com mais frequência se você consultar com frequência caminhos antigos em um mapa (por exemplo, caminhos que foram fixados há várias semanas). Para uma visualização ideal, realize o ajuste dos caminhos antigos antes de mostrá-los em um mapa para minimizar as inconsistências entre os blocos de mapa e o índice de vias usado para o ajuste.

O que pode fazer com que o limite de velocidade da via X seja mostrado incorretamente?
Os limites de velocidade vêm de várias fontes que variam em precisão e cobertura. Se você encontrar um padrão, por exemplo, limites de velocidade para um tipo específico de via ou em uma área específica que estejam sempre errados, siga estas etapas para nos informar:
  1. Abra o Google Maps no seu computador ou no app Google Maps para Android.
  2. Abra o menu à esquerda.
  3. Selecione Enviar feedback. Observação: talvez seja necessário fazer login.
  4. Selecione Editar o mapa.
  5. Selecione o trecho da via que você quer editar.
  6. Selecione Próxima.
  7. No campo "Outro", indique que o limite de velocidade está errado para essa via.
  8. Selecione Enviar.
Também é possível denunciar outros problemas aqui, por exemplo, se a via tiver o nome incorreto, estiver desenhada incorretamente, estiver fechada ou for particular.
Por que meu caminho fixado está cortando cantos em vez de seguir a estrada?
Para corrigir esse problema, verifique o seguinte:
  • Verifique se o parâmetro interpolate está definido como true.
  • Verifique se os pontos de dados originais são amostrados em intervalos próximos (a cada 1 a 10 segundos).
Por que estou recebendo muitos trechos de via retornados no caminho fixado para uma via sem mudanças no limite de velocidade?
Quando o parâmetro interpolate é definido como true, a consulta de ajuste à estrada retorna uma polilinha que segue a estrada em curvas, curvas e rotatórias. Se a via tiver curvas, vários trechos serão retornados, mesmo que o limite de velocidade não mude, para criar uma polilinha que siga de perto a geometria da via.