Scribble Maps Blog
← All posts

Scribble Maps Blog

Desenvolvedores: Economizando Créditos da API do Google com Autocomplete

Há muitos vencedores com a nova precificação de API do Google. No entanto, se o seu aplicativo estiver usando todo o conjunto de funcionalidades de mapeamento e você tiver muitos usuários, poderá notar que seu saldo começará a diminuir rapidamente. Duas funções que consumirão diretamente do seu saldo e não estão sujeitas à cota diária gratuita são o autocomplete e a pesquisa de locais.

Se você usa sua licença do Google com a API do Scribble Maps, nós fazemos algumas dessas otimizações de forma nativa, mas se você estiver construindo sua própria implementação personalizada diretamente sobre a API do Google Maps, há uma atualização simples que você pode fazer para economizar alguns créditos de autocomplete.

A funcionalidade padrão de preenchimento automático enviará uma solicitação de autocomplete a cada alteração na entrada. É possível reduzir significativamente a quantidade de créditos utilizados inserindo um tempo de espera (timeout) quando a entrada é alterada.

Aqui está um exemplo muito básico.

 var acTimeOut;  
 textSearchInput.onkeyup = function() {  
 clearTimeout(acTimeout);  
 acTimeout = setTimeout(function() {  
 //coloque as chamadas de autocomplete aqui  
 }, 250);  
 }  

Assim, toda vez que um usuário começar a digitar no campo de entrada, o autocomplete não será acionado até que haja um breve atraso. O atraso de 250ms pode ser reduzido para fazer o autocomplete ser acionado com mais frequência. Se o usuário digitar rapidamente "Toronto", apenas uma chamada de autocomplete será executada em vez de 8 quando o usuário hesitar.

Achamos que o atraso programado funciona melhor. Um ponto crítico para isso é garantir que a interface do usuário indique que uma pesquisa está ocorrendo enquanto eles digitam. No nosso caso, usamos um indicador de carregamento animado (spinner). Dessa forma, se o usuário estiver digitando rapidamente e não estiver vendo os resultados, o spinner animado dará a ele uma pausa suficiente para ver os resultados.

Vale ressaltar que a implementação disso está em conformidade com os termos de uso atuais deles. Tudo o que esse método essencialmente faz é limitar a quantidade de chamadas de autocomplete enviadas pelo usuário.
← All posts