Observação: o Plano Premium da Plataforma Google Maps não está mais disponível para inscrições ou novos clientes.
Visão geral
Se o aplicativo exceder os limites de uso de um serviço da Web da Plataforma Google Maps, o serviço retornará uma mensagem de erro. Caso o aplicativo continue excedendo os limites de uso, ele poderá ter o acesso ao serviço da Web bloqueado e, em alguns casos, receber respostas "403 Forbidden".
Se as solicitações de serviço da Web do aplicativo receberem mensagens de erro, você poderá reduzir o uso otimizando os aplicativos para utilizar os serviços da Web de forma mais eficiente.
Antes de começar
Antes de otimizar o uso do serviço da Web do seu aplicativo, verifique se está utilizando o serviço correto para seu caso e a licença da API Maps correta.
Validar seu caso de uso
Os serviços da Web da Plataforma Google Maps são ideais para aplicativos que não exigem entrada em tempo real dos usuários ou quando um navegador da Web não é usado. Por exemplo, você deve usar serviços da Web se seu o aplicativo usa um conjunto de dados independente da entrada do usuário, por exemplo, um conjunto fixo de endereços em um site imobiliário que precisa ser geocodificado.
Nos serviços Web, o limite de consultas por minuto (QPM) é aplicado à sua Licença do plano Premium, independentemente da quantidade de endereços IP de onde as solicitações são enviadas.
Por outro lado, os serviços do lado do cliente disponíveis com a API Maps JavaScript têm limitação de taxas por sessão do navegador. Assim, as solicitações são distribuídas entre todos os seus usuários e aumentam de maneira proporcional. Portanto, os serviços do lado do cliente são ideais para aplicativos que geocodificam a entrada de endereço de usuários em tempo real, como um localizador de lojas que procura estabelecimentos perto do endereço residencial de um usuário.
Para ver uma discussão mais detalhada sobre quando usar os serviços da Web, consulte Estratégias de geocodificação. Apesar de serem específicas para geocodificação, as recomendações neste documento se aplicam a todos os serviços da Web e detalham quando você deve usar serviços do lado do servidor ou os equivalentes do lado do cliente.
Como otimizar o uso do serviço da Web
Para usar os serviços da Web com mais eficácia, é possível diminuir o uso enviando solicitações somente quando necessário e distribuindo a utilização igualmente para respeitar os limites.
Armazenar resultados em cache
As seções 3.2.3.a e b dos Termos de Serviço da Plataforma Google Maps declaram que não é permitido fazer pré-buscas, armazenar, indexar ou armazenar em cache qualquer conteúdo, exceto de acordo com as condições estabelecidas nos Termos.
O ID de lugar, usado para identificar um local de maneira exclusiva está isento da restrição de armazenamento em cache. Portanto, é permitido armazenar valores de ID de lugar indefinidamente.
Limitar solicitações
Para evitar exceder os limites de uso, é possível configurar o aplicativo para limitar solicitações colocando-as em uma fila que acompanha quando elas são enviadas. Se o seu aplicativo receber uma solicitação adicional além do limite do QPM, ajuste o ritmo das suas consultas. No código, adicione um período de espera de **`S`** segundos entre as consultas. Se a consulta ainda resultar em um erro de cota, dobre o tempo de espera e envie outra consulta. Continue ajustando o período de espera até que a consulta retorne sem erro.
Mesmo com a limitação, os aplicativos ainda devem receber respostas com o código de status OVER_QUERY_LIMIT
. Configure o aplicativo para inserir um pequeno atraso (20 ms) e tente novamente se ele receber uma resposta.