Scribble Maps Blog
Распрацоўшчыкам: Эканомія крэдытаў Google API з дапамогай аўтазапаўнення
Новае цэнаўтварэнне API ад Google мае шмат пераваг. Аднак, калі ваша праграма выкарыстоўвае ўвесь спектр функцыянальнасці карт і ў вас шмат карыстальнікаў, вы можаце заўважыць, што ваш ліміт пачне хутка змяншацца. Дзве функцыі, якія напрамую выкарыстоўваюць ваш ліміт і не падпадаюць пад штодзённую бясплатную квоту, — гэта аўтазапаўненне і пошук месцаў.
Калі вы выкарыстоўваеце сваю ліцэнзію Google з Scribble Maps API, мы робім некаторыя з гэтых аптымізацый аўтаматычна, але калі вы ствараеце ўласную рэалізацыю непасрэдна на базе Google Maps API, ёсць простае абнаўленне, якое дапаможа вам зэканоміць крэдыты на аўтазапаўненне.
Стандартная функцыя аўтазапаўнення адпраўляе запыт пры кожнай змене ўводных даных. Можна значна скараціць колькасць выкарыстаных крэдытаў, усталяваўшы таймаўт пры змене ўводу.
Вось вельмі просты прыклад.
Такім чынам, кожны раз, калі карыстальнік пачынае ўводзіць тэкст, аўтазапаўненне не будзе спрацоўваць да невялікай затрымкі. Затрымку ў 250 мс можна паменшыць, каб аўтазапаўненне спрацоўвала часцей. Калі карыстальнік хутка ўводзіць "Toronto", будзе выкананы толькі адзін запыт аўтазапаўнення замест 8, пакуль карыстальнік вагаецца.
Мы лічым, што часовая затрымка працуе лепш за ўсё. Важным момантам з'яўляецца забеспячэнне таго, каб інтэрфейс карыстальніка паказваў, што падчас уводу адбываецца пошук. У нашым выпадку мы выкарыстоўваем анімаваны індыкатар загрузкі (спінер). Такім чынам, калі карыстальнік уводзіць тэкст хутка і не бачыць вынікаў, анімаваны спінер дасць яму дастаткова часу, каб дачакацца вынікаў.
Варта адзначыць, што ўкараненне гэтага метаду адпавядае іх бягучым умовам выкарыстання. Усё, што робіць гэты метад, — гэта абмяжоўвае колькасць выходных запытаў аўтазапаўнення ад карыстальніка.
Калі вы выкарыстоўваеце сваю ліцэнзію Google з Scribble Maps API, мы робім некаторыя з гэтых аптымізацый аўтаматычна, але калі вы ствараеце ўласную рэалізацыю непасрэдна на базе Google Maps API, ёсць простае абнаўленне, якое дапаможа вам зэканоміць крэдыты на аўтазапаўненне.
Стандартная функцыя аўтазапаўнення адпраўляе запыт пры кожнай змене ўводных даных. Можна значна скараціць колькасць выкарыстаных крэдытаў, усталяваўшы таймаўт пры змене ўводу.
Вось вельмі просты прыклад.
var acTimeOut;
textSearchInput.onkeyup = function() {
clearTimeout(acTimeout);
acTimeout = setTimeout(function() {
//put auto-complete calls in here
}, 250);
}
Такім чынам, кожны раз, калі карыстальнік пачынае ўводзіць тэкст, аўтазапаўненне не будзе спрацоўваць да невялікай затрымкі. Затрымку ў 250 мс можна паменшыць, каб аўтазапаўненне спрацоўвала часцей. Калі карыстальнік хутка ўводзіць "Toronto", будзе выкананы толькі адзін запыт аўтазапаўнення замест 8, пакуль карыстальнік вагаецца.
Мы лічым, што часовая затрымка працуе лепш за ўсё. Важным момантам з'яўляецца забеспячэнне таго, каб інтэрфейс карыстальніка паказваў, што падчас уводу адбываецца пошук. У нашым выпадку мы выкарыстоўваем анімаваны індыкатар загрузкі (спінер). Такім чынам, калі карыстальнік уводзіць тэкст хутка і не бачыць вынікаў, анімаваны спінер дасць яму дастаткова часу, каб дачакацца вынікаў.
Варта адзначыць, што ўкараненне гэтага метаду адпавядае іх бягучым умовам выкарыстання. Усё, што робіць гэты метад, — гэта абмяжоўвае колькасць выходных запытаў аўтазапаўнення ад карыстальніка.