Scribble Maps Blog
← All posts

Scribble Maps Blog

Разработчици: Спестяване на Google API кредити с Autocomplete

Има много печеливши от новото ценообразуване на Google API. Ако обаче приложението ви използва целия набор от картографски функции и имате много потребители, може да откриете, че лимитът ви ще започне да намалява бързо. Две функции, които ще теглят директно от лимита ви и не подлежат на дневната безплатна квота, са автоматичното довършване (autocomplete) и търсенето на места (place search).

Ако използвате вашия Google лиценз със Scribble Maps API, ние правим някои от тези оптимизации автоматично, но ако изграждате своя собствена персонализирана имплементация директно върху Google Maps API, има проста актуализация, която можете да направите, за да спестите малко кредити за автоматично довършване.

Стандартната функционалност за автоматично довършване изпраща заявка при всяка промяна във въвеждането. Възможно е значително да намалите количеството използвани кредити, като въведете изчакване (timeout) при промяна на въвеждането.

Ето един много прост пример.

 var acTimeOut;  
 textSearchInput.onkeyup = function() {  
 clearTimeout(acTimeout);  
 acTimeout = setTimeout(function() {  
 //put auto-complete calls in here  
 }, 250);  
 }  

Така всеки път, когато потребителят започне да пише в полето, автоматичното довършване няма да се задейства, докато не настъпи кратко забавяне. Забавянето от 250ms може да бъде намалено, за да се задейства автоматичното довършване по-често. Ако потребителят бързо напише "Toronto", ще бъде изпълнена само една заявка за автоматично довършване, вместо 8, когато потребителят се колебае.

Намираме, че забавянето с таймер работи най-добре. Важен момент тук е да се уверите, че потребителският интерфейс показва, че се извършва търсене, докато те пишат. В нашия случай използваме анимиран индикатор за зареждане (spinner). По този начин, ако потребителят пише бързо и не вижда резултати, анимираният индикатор ще му даде достатъчно пауза, за да види резултатите.

Трябва да се отбележи, че прилагането на това е в съответствие с настоящите им условия за ползване. Всичко, което този метод по същество прави, е да ограничи количеството изходящи повиквания за автоматично довършване от потребителя.
← All posts