Solução de problemas

Erros

Em caso de erro, um corpo de resposta de erro em 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: é 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, enviar um parâmetro placeId inválido vai retornar 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. Inclua a chave inteira e verifique se você ativou a API para ela.
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 pelo menos 1 e menos de 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 placeId inválido.
  • Seu pedido incluiu placeIds e um path. Apenas 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. Faça inscrição 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 O HTTPS é obrigatório para esse 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ção 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, solicitações por 100 segundos e solicitações por 100 segundos por usuário. Esse limite precisa ser configurado 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.

Espera exponencial

Quando as solicitações falharem, tente de novo com espera exponencial. Por exemplo, se uma solicitação falhar uma vez, tente de novo após um segundo. Se ela falhar novamente, tente de novo após dois segundos, depois quatro segundos e assim por diante. Isso garante que solicitações corrompidas 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 qual frequência devo coletar a localização do meu veículo?
Recomendamos um intervalo de 1 a 10 segundos para resultados de ajuste à via 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 ajustados?
Para garantir que os caminhos ajustados sigam as vias em todos os níveis de zoom, mesmo no nível máximo, armazene os pares de latitude/longitude ajustados com sete casas decimais de precisão.
Posso usar polilinhas codificadas para mostrar caminhos ajustados?
As polilinhas codificadas são especificadas apenas com uma precisão de cinco casas decimais, o que resulta em um erro de aproximadamente dois metros. Portanto, as polilinhas codificadas não são adequadas se você quiser que os caminhos ajustados sigam a via em níveis de zoom altos.

Problemas comuns

Alguns pontos não estão sendo ajustados, ou tenho lacunas nos caminhos ajustados. Como posso corrigir isso?
  • Se você estiver fazendo amostragem dos pontos em intervalos de tempo, faça isso em intervalos menores (a cada 1 a 10 segundos). Se um intervalo maior for usado (por exemplo, 60 segundos), o algoritmo de ajuste à via poderá não conseguir determinar as vias percorridas com precisão suficiente.
  • Se você estiver clicando manualmente em um mapa para criar pontos, é 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 que estão próximos. Teste a demonstração de ajuste a vias ou use o inspetor de vias para testar seus caminhos.
Por que meus caminhos ajustados ficam irregulares ou um pouco fora da via quando eu aumento o zoom?
  • Você está truncando a precisão dos pares de latitude/longitude ajustados antes de mostrá-los? Armazenar pares de latitude/longitude ajustados com uma precisão de menos de sete casas decimais causa erros de precisão quando o caminho ajustado é mostrado no mapa.
  • Você está usando polilinhas codificadas? As 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 afastadas da via em níveis de zoom altos.

Se nenhuma das opções acima for o caso, os blocos de mapa podem ter sido atualizados recentemente, fazendo com que eles fiquem dessincronizados com o índice de vias usado para ajuste. Se apenas algumas das suas consultas forem afetadas, essa provavelmente será a causa. Como o Google Maps é atualizado regularmente, isso pode acontecer ocasionalmente e com mais frequência se você consultar trajetos antigos em um mapa (por exemplo, trajetos ajustados há várias semanas). Para uma visualização ideal, ajuste os caminhos antigos novamente pouco antes de mostrá-los em um mapa. Isso minimiza as inconsistências entre os blocos do 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 de via ou em uma área específica que estão sempre errados, siga estas etapas para nos informar:
  1. Abra o Google Maps no computador ou no app 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.
Você também pode denunciar outros problemas aqui (por exemplo, se a via tiver o nome incorreto, estiver desenhada de forma errada, fechada ou particular).
Por que o caminho ajustado está cortando caminhos em vez de seguir a via?
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 o suficiente (a cada 1 a 10 segundos).
Por que recebo muitos trechos de via no caminho ajustado para 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 via em esquinas, curvas e rotatórias. Se a via fizer uma curva, 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.