Otimizar o uso de serviços da Web

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 entradas de usuários em tempo real ou quando um navegador da Web não é utilizado. Por exemplo, você deve usar serviços da Web se o aplicativo utiliza um conjunto de dados independente da entrada de usuário — por exemplo, um conjunto de endereços fixo em um site de imobiliária que precisa ser geocodificado.

Com os serviços da Web, o limite de consultas por segundo (QPS) se aplica à sua licença do plano Premium, independentemente do número de solicitações de endereços IP.

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 aplicativo receber uma solicitação além do limite de QPS, ele deverá verificar o timestamp da primeira solicitação e aguardar um segundo.

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.