Scribble Maps Blog
← All posts

Scribble Maps Blog

დეველოპერებისთვის: Google API კრედიტების დაზოგვა Autocomplete-ის მეშვეობით

Google-ის API-ს ახალი ფასებით ბევრი მოგებული დარჩა. თუმცა, თუ თქვენი აპლიკაცია იყენებს რუკების ფუნქციონალის სრულ პაკეტს და გყავთ ბევრი მომხმარებელი, შესაძლოა შეამჩნიოთ, რომ თქვენი ბალანსი სწრაფად იკლებს. ორი ფუნქცია, რომელიც პირდაპირ აკლდება თქვენს ბალანსს და არ ექვემდებარება ყოველდღიურ უფასო კვოტას, არის autocomplete და ადგილების ძიება.

თუ იყენებთ თქვენს Google ლიცენზიას Scribble Maps API-სთან ერთად, ჩვენ ამ ოპტიმიზაციის ნაწილს ავტომატურად ვაკეთებთ, მაგრამ თუ თქვენ საკუთარ იმპლემენტაციას პირდაპირ Google Maps API-ზე აშენებთ, არსებობს მარტივი განახლება, რომელიც დაგაზოგვინებთ autocomplete კრედიტებს.

სტანდარტული ავტო-შევსების ფუნქციონალი აგზავნის ავტო-შევსების მოთხოვნას ველში ყოველი სიმბოლოს შეცვლისას. შესაძლებელია გამოყენებული კრედიტების რაოდენობის მნიშვნელოვნად შემცირება ტაიმაუტის (timeout) დამატებით, როდესაც შეყვანილი ტექსტი იცვლება.

აი ძალიან მარტივი მაგალითი.

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

ასე რომ, ყოველ ჯერზე, როდესაც მომხმარებელი იწყებს ბეჭდვას ველში, ავტო-შევსება არ ამოქმედდება მცირე შეყოვნებამდე. 250ms-იანი შეყოვნება შეიძლება შემცირდეს, რათა ავტო-შევსება უფრო ხშირად ამუშავდეს. თუ მომხმარებელი სწრაფად აკრეფს "Toronto"-ს, შესრულდება მხოლოდ ერთი ავტო-შევსების მოთხოვნა 8-ის ნაცვლად, როდესაც მომხმარებელი ყოყმანობს.

ჩვენ მივიჩნევთ, რომ დროითი შეყოვნება საუკეთესოდ მუშაობს. ამისათვის გადამწყვეტი მნიშვნელობა აქვს იმას, რომ მომხმარებლის ინტერფეისმა აჩვენოს, რომ ძებნა მიმდინარეობს ბეჭდვის დროს. ჩვენს შემთხვევაში ვიყენებთ ანიმირებულ სპინერს. ამგვარად, თუ მომხმარებელი სწრაფად ბეჭდავს და ვერ ხედავს შედეგებს, ანიმირებული სპინერი მისცემს მას საკმარის პაუზას შედეგების სანახავად.

უნდა აღინიშნოს, რომ ამის დანერგვა სრულად შეესაბამება მათ გამოყენების მიმდინარე პირობებს. ეს მეთოდი არსებითად მხოლოდ ზღუდავს მომხმარებლისგან გამავალი ავტო-შევსების მოთხოვნების რაოდენობას.
← All posts