Scribble Maps Blog
← All posts

Scribble Maps Blog

ለአልሚዎች፦ በራስ-አጠናቅቅ (Autocomplete) የጉግል ኤፒአይ (Google API) ክሬዲቶችን መቆጠብ

በጉግል አዲሱ የኤፒአይ ዋጋ አወጣጥ ብዙ ተጠቃሚዎች ተጠቃሚ ሆነዋል። ሆኖም መተግበሪያዎ ሙሉውን የካርታ ስራ ተግባራትን የሚጠቀም ከሆነ እና ብዙ ተጠቃሚዎች ካሉዎት፣ የእርስዎ የክሬዲት ክምችት በፍጥነት መቀነስ ሊጀምር ይችላል። በቀጥታ ከክምችትዎ ላይ የሚቀንሱ እና በዕለታዊ ነፃ ኮታ የማይሸፈኑ ሁለት ተግባራት ራስ-አጠናቅቅ (autocomplete) እና የቦታ ፍለጋ (place search) ናቸው።

የጉግል ፈቃድዎን ከScribble Maps ኤፒአይ ጋር የሚጠቀሙ ከሆነ፣ እኛ እነዚህን አንዳንድ ማሻሻያዎች በቀጥታ እናከናውናለን፤ ነገር ግን በቀጥታ በጉግል ካርታዎች ኤፒአይ ላይ የራስዎን ብጁ አተገባበር እየገነቡ ከሆነ፣ አንዳንድ የራስ-አጠናቅቅ ክሬዲቶችን ለመቆጠብ የሚያስችልዎ ቀላል ማሻሻያ አለ።

መደበኛው የራስ-አጠናቅቅ ተግባር በግብዓቱ ላይ በሚደረግ እያንዳንዱ ለውጥ የራስ-አጠናቅቅ ጥያቄን ይልካል። ግብዓቱ በሚቀየርበት ጊዜ የጊዜ ገደብ (timeout) በማስቀመጥ ጥቅም ላይ የሚውለውን የክሬዲት መጠን በከፍተኛ ሁኔታ መቀነስ ይቻላል።

በጣም መሠረታዊ ምሳሌ ይኸውና።

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

ስለዚህ አንድ ተጠቃሚ በግብዓቱ ላይ መተየብ በጀመረ ቁጥር፣ ትንሽ ጊዜያዊ መዘግየት እስኪኖር ድረስ ራስ-አጠናቅቁ አይሰራም። የራስ-አጠናቅቁ በብዛት እንዲሰራ ለማድረግ የ250ms መዘግየቱን መቀነስ ይቻላል። ተጠቃሚው በፍጥነት "Toronto" ብሎ ቢተይብ፣ ተጠቃሚው በሚያመነታበት ጊዜ ከሚደረጉ 8 ጥያቄዎች ይልቅ አንድ የራስ-አጠናቅቅ ጥሪ ብቻ ነው የሚከናወነው።

በጊዜ የተገደበው መዘግየት በጥሩ ሁኔታ እንደሚሰራ ተገንዝበናል። ለዚህ ወሳኝ ነጥብ ተጠቃሚው በሚተይብበት ጊዜ ፍለጋ እየተካሄደ መሆኑን የተጠቃሚው በይነገጽ (user interface) ማሳየቱን ማረጋገጥ ነው። በእኛ ሁኔታ፣ ተንቀሳቃሽ የማሽከርከሪያ ምልክት (animated spinner) እንጠቀማለን። በዚህ መንገድ ተጠቃሚው በፍጥነት እየተየበ ከሆነ እና ውጤቶችን ካላየ፣ ተንቀሳቃሽ የማሽከርከሪያ ምልክቱ ውጤቱን ለማየት የሚያስችል በቂ እረፍት ይሰጣቸዋል።

ይህንን መተግበር አሁን ካለው የአጠቃቀም ደንባቸው ጋር የሚስማማ መሆኑ መታወቅ አለበት። ይህ ዘዴ በመሠረቱ የሚያደርገው ከተጠቃሚው የሚወጡትን የራስ-አጠናቅቅ ጥሪዎች መጠን መቆጣጠር (throttle) ብቻ ነው።
← All posts