Solução de problemas

Erros

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

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

  • code: é o mesmo que o status HTTP da resposta.
  • message: uma breve descrição do erro.
  • status: um código de status que indica 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"
  }
}

Possíveis erros incluem:

Código Status A 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. Verifique se você incluiu a chave inteira e ativou a API para essa chave.
400 INVALID_ARGUMENT O parâmetro "\"path\" contém um valor inválido: ↗" Sua solicitação continha argumentos inválidos. As causas mais prováveis desse erro são:
  • Um problema com o parâmetro path.
    Verifique se você tem entre 1 e 100 pontos. Cada ponto precisa ser um par de números separados por uma vírgula, como: 48.409114,-123.369158. Os pontos precisam ser separados por uma barra vertical: "|".
  • Sua solicitação incluiu um valor de 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 um placeId for transmitido para uma via que não existe mais ou para um lugar que não é uma via.

403 PERMISSION_DENIED A solicitação não registrada foi bloqueada. Inscreva-se usando o Google Developers Console. 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 têm que incluir uma chave de API válida. Para corrigir isso, siga estas etapas:

404 NOT_FOUND HTTPS é necessário para este serviço. Verifique se você está enviando solicitações para https://roads.googleapis.com/, e não para 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. Normalmente, esse limite é definido como solicitações por dia, por 100 segundos e a cada 100 segundos por usuário. Esse limite precisa ser configurado para evitar que um único ou pequeno grupo de usuários esgote sua cota diária, mas ainda permitir um acesso razoável a todos os usuários. Consulte Como limitar o uso da API para configurar esses limites.

Espera exponencial

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

Perguntas frequentes sobre solução de problemas

Problemas de implementação

Com que frequência devo coletar amostras do local do meu veículo?
Recomendamos de 1 a 10 segundos para ter resultados de alta qualidade no alinhamento à rua.
Existe um limite para o número de pontos que podem ser enviados por consulta?
Sim, uma consulta pode ter no máximo 100 pontos.
Que nível de precisão devo usar para armazenar meus pares de latitude/longitude ajustados?
Para garantir que os caminhos direcionados acompanhem as vias em todos os níveis de zoom, mesmo no máximo, armazene os pares de latitude/longitude ajustados em sete casas decimais de precisão.
Posso usar polilinhas codificadas para exibir caminhos direcionados?
As polilinhas codificadas são especificadas apenas para 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 quando você quer que seus caminhos direcionados sigam a estrada em níveis altos de zoom.

Problemas comuns

Alguns pontos não estão sendo ajustados ou tenho lacunas nos caminhos direcionados. Como posso corrigir isso?
  • Se você estiver fazendo a amostragem dos pontos em intervalos programados, faça isso em intervalos mais curtos (a cada 1 a 10 segundos). Se um intervalo maior for usado (por exemplo, 60 segundos), o algoritmo de ajuste à estrada não vai conseguir determinar as vias percorridas com precisão suficiente.
  • Se você clica manualmente em um mapa para criar pontos, fica muito fácil criar caminhos com poucos pontos ou pontos esparsos que o algoritmo de ajuste não processa bem. O algoritmo de ajuste funciona melhor para pontos próximos. Teste a demonstração do alinhamento a vias ou use o Inspetor de vias para testar seus caminhos.
Por que meus caminhos traçados estão entalhados ou ligeiramente fora da via quando eu aumento o zoom?
  • Você está truncando a precisão dos pares de latitude/longitude ajustados antes de exibi-los? Armazenar pares de latitude/longitude ajustados com menos de sete pontos decimais gera erros de precisão quando o caminho ajustado é exibido no mapa.
  • Você está usando polilinhas codificadas? As polilinhas codificadas truncam os pares de latitude/longitude a cinco casas decimais, o que gera um erro de vários metros, resultando em linhas irregulares ou ligeiramente fora da estrada em níveis de zoom altos.

Caso contrário, os blocos do mapa podem ter sido atualizados recentemente, o que fez com que eles ficassem dessincronizados com o índice de vias usado para o ajuste. Se apenas algumas das consultas forem afetadas, essa provavelmente será a causa. Como o Google Maps é atualizado regularmente, isso pode acontecer de vez em quando e com mais frequência se você analisar regularmente caminhos antigos em um mapa (por exemplo, caminhos que foram direcionados há várias semanas). Para melhor visualização, ajuste os caminhos antigos antes de mostrá-los no mapa para minimizar as inconsistências entre os blocos do mapa e o índice de vias usado para ajuste.

O que pode fazer com que o limite de velocidade da via X seja exibido incorretamente?
Os limites de velocidade são provenientes 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 uma área específica que esteja incorreta de maneira consistente, siga estas etapas para nos informar:
  1. Abra o Google Maps no seu computador OU o app Google Maps para Android.
  2. Abra o menu lateral esquerdo.
  3. Selecione Enviar feedback. Observação: talvez seja necessário fazer login.
  4. Selecione Editar o mapa.
  5. Escolha 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.
Você também pode informar outros problemas aqui, por exemplo, se a via tiver o nome incorreto, estiver desenhada incorretamente, estiver fechada ou for particular.
Por que meu caminho traçado está cortando curvas 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 a amostragem dos pontos de dados originais foi feita em intervalos próximos o suficiente (a cada 1 a 10 segundos).
Por que muitos trechos de via são retornados no caminho certo de uma via sem mudanças no limite de velocidade?
Quando o parâmetro interpolate é definido como true, a consulta de ajuste à via retorna uma polilinha que segue a estrada ao redor de cantos, curvas e rotatórias. Se a via se curva, vários trechos são retornados, mesmo que o limite de velocidade não seja alterado, para criar uma polilinha que segue de perto a geometria da via.