Scribble Maps Blog
← All posts

Scribble Maps Blog

Desarrolladores: Ahorrar créditos de la API de Google con Autocomplete

Hay muchos ganadores con los nuevos precios de la API de Google. Sin embargo, si su aplicación utiliza todo el conjunto de funciones de mapas y tiene muchos usuarios, es posible que note que su saldo comenzará a disminuir rápidamente. Dos funciones que consumirán directamente de su saldo y no están sujetas a la cuota diaria gratuita son el autocompletado (autocomplete) y la búsqueda de lugares (place search).

Si utiliza su licencia de Google con la API de Scribble Maps, realizamos algunas de estas optimizaciones de forma nativa, pero si está creando su propia implementación personalizada directamente sobre la API de Google Maps, hay una actualización sencilla que puede realizar para ahorrar algunos créditos de autocompletado.

La funcionalidad estándar de autocompletado enviará una solicitud de autocompletado con cada cambio en la entrada de texto. Es posible reducir significativamente la cantidad de créditos utilizados estableciendo un tiempo de espera (timeout) cuando la entrada cambia.

Aquí hay un ejemplo muy básico.

 var acTimeOut;  
 textSearchInput.onkeyup = function() {  
 clearTimeout(acTimeout);  
 acTimeout = setTimeout(function() {  
 //coloque las llamadas de autocompletado aquí  
 }, 250);  
 }  

Así, cada vez que un usuario comience a escribir en la entrada de texto, el autocompletado no se activará hasta que haya un breve retraso. El retraso de 250 ms se puede reducir para que el autocompletado se active con mayor frecuencia. Si el usuario escribe rápidamente "Toronto", solo se ejecutará una llamada de autocompletado en lugar de 8 cuando el usuario dude.

Consideramos que el retraso programado es lo que mejor funciona. Un punto crítico para esto es asegurarse de que la interfaz de usuario indique que se está realizando una búsqueda mientras escriben. En nuestro caso, utilizamos un indicador de carga animado (spinner). De esta manera, si el usuario escribe rápidamente y no ve resultados, el indicador animado le dará la pausa suficiente para ver los resultados.

Cabe señalar que la implementación de esto cumple con sus condiciones de uso actuales. Básicamente, todo lo que hace este método es limitar la cantidad de llamadas de autocompletado salientes del usuario.
← All posts