Scribble Maps Blog
← All posts

Scribble Maps Blog

ડેવલપર્સ: ઓટોકમ્પ્લીટ સાથે ગુગલ API ક્રેડિટ્સ બચાવો

ગુગલની નવી API કિંમતોથી ઘણા લોકોને ફાયદો થયો છે. જો કે, જો તમારી એપ મેપિંગની તમામ સુવિધાઓનો ઉપયોગ કરી રહી છે અને તમારી પાસે ઘણા બધા યુઝર્સ છે, તો તમે જોશો કે તમારો ક્રેડિટ પૂલ ઝડપથી ઘટવા લાગશે. બે ફંક્શન્સ જે સીધા તમારા પૂલમાંથી ક્રેડિટ વાપરે છે અને દૈનિક મફત ક્વોટાને પાત્ર નથી તે છે ઓટોકમ્પ્લીટ અને પ્લેસ સર્ચ.

જો તમે Scribble Maps API સાથે તમારા ગુગલ લાઇસન્સનો ઉપયોગ કરો છો તો અમે આમાંના કેટલાક ઓપ્ટિમાઇઝેશન પહેલેથી જ પ્રદાન કરીએ છીએ, પરંતુ જો તમે ગુગલ મેપ્સ API પર સીધું જ તમારું પોતાનું કસ્ટમ ઇમ્પ્લીમેન્ટેશન બનાવી રહ્યા છો, તો તમે કેટલીક ઓટોકમ્પ્લીટ ક્રેડિટ્સ બચાવવા માટે એક સરળ અપડેટ કરી શકો છો.

સ્ટાન્ડર્ડ ઓટો-કમ્પ્લીટ ફંક્શનાલિટી ઇનપુટમાં દરેક ફેરફાર સાથે ઓટો-કમ્પ્લીટ રિક્વેસ્ટ મોકલશે. ઇનપુટ બદલાય ત્યારે ટાઇમઆઉટ સેટ કરીને વપરાયેલી ક્રેડિટ્સની માત્રામાં નોંધપાત્ર ઘટાડો કરવો શક્ય છે.

અહીં એક ખૂબ જ મૂળભૂત ઉદાહરણ છે.

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

તેથી જ્યારે પણ યુઝર ઇનપુટમાં ટાઇપ કરવાનું શરૂ કરશે ત્યારે ક્ષણિક વિલંબ ન થાય ત્યાં સુધી ઓટોકમ્પ્લીટ ફાયર થશે નહીં. ઓટોકમ્પ્લીટ વધુ ઝડપથી ફાયર થાય તે માટે ૨૫૦ms ના વિલંબને ઘટાડી શકાય છે. જો યુઝર ઝડપથી "Toronto" ટાઇપ કરે છે, તો યુઝર અટકે ત્યારે ૮ ના બદલે માત્ર એક જ ઓટો-કમ્પ્લીટ કોલ એક્ઝિક્યુટ થશે.

અમને લાગે છે કે સમયસરનો વિલંબ સૌથી વધુ અસરકારક સાબિત થાય છે. આના માટે એક મહત્વનો મુદ્દો એ સુનિશ્ચિત કરવાનો છે કે યુઝર જ્યારે ટાઇપ કરી રહ્યા હોય ત્યારે યુઝર ઇન્ટરફેસ દર્શાવે કે સર્ચ ચાલુ છે. અમારા કિસ્સામાં અમે એનિમેટેડ સ્પિનરનો ઉપયોગ કરીએ છીએ. આ રીતે જો યુઝર ઝડપથી ટાઇપ કરી રહ્યો હોય અને પરિણામો ન દેખાતા હોય, તો એનિમેટેડ સ્પિનર તેમને પરિણામો જોવા માટે પૂરતો વિરામ આપશે.

એ નોંધવું જોઇએ કે આનો અમલ કરવો તેમની વર્તમાન ઉપયોગની શરતો સાથે સુસંગત છે. આ પદ્ધતિ અનિવાર્યપણે યુઝર તરફથી આઉટબાઉન્ડ ઓટોકમ્પ્લીટ કોલ્સની માત્રાને મર્યાદિત (throttle) કરે છે.
← All posts