Solução de problemas

Erros

No caso de um erro, um corpo de resposta de erro de 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 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, o envio de 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. Verifique se você incluiu a chave inteira e se 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:
  • Há 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.
  • Sua solicitação 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. 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 precisam incluir uma chave de API válida. Para corrigir isso, siga estas etapas:

404 NOT_FOUND O HTTPS é necessá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 devido ao alcance dos limites de solicitações de projeto. 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 precisa ser configurado para evitar que um único usuário ou um pequeno grupo de usuários esgote sua cota diária, permitindo 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 novamente com uma espera exponencial. Por exemplo, se uma solicitação falhar uma vez, tente novamente após um segundo. Se ela falhar novamente, tente novamente após dois segundos, depois quatro segundos e assim por diante. Isso garante que solicitações corrompidas ou falhas em grande escala não inundem 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 estradas em todos os níveis de zoom, mesmo no nível máximo, armazene os pares de latitude/longitude fixados com 7 casas decimais de precisão.
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 dois metros. 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 ajuste funciona melhor para pontos próximos. Teste a demonstração de ajuste automático a vias 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 é mostrado 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 cantos, 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.