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 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 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 um placeId for transmitido para uma via que não existe mais ou para um lugar que não é uma via.

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 destes 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 este 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 precisa ser configurado para evitar que um único ou pequeno grupo de usuários esgote sua cota diária, além de permitir um acesso razoável para todos os usuários. 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.
Existe 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 dois 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 direcionamento à estrada poderá não ser capaz de determinar as vias percorridas com precisão suficiente.
  • Se você estiver clicando manualmente em um mapa para criar pontos, será muito fácil criar caminhos com poucos pontos ou pontos esparsos que o algoritmo de ajuste não lida bem. O algoritmo de direcionamento funciona melhor quando os pontos estão próximos. Faça a demonstração do Snap to Roads ou use o Inspetor de vias para testar os 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 altos níveis de zoom.

Se nenhuma das opções acima corresponder, é possível que os blocos do mapa tenham sido atualizados recentemente, fazendo com que fiquem dessincronizados com o índice de vias usado para ajuste. 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 exibido 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 específico ou em uma área específica que estejam incorretos, siga estas etapas para nos informar:
  1. Abra o Google Maps no seu computador desktop 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 encurtado 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 as amostras dos pontos de dados originais são feitas em intervalos próximos o suficiente (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.