Scribble Maps Blog
← All posts

Scribble Maps Blog

डेव्हलपर्स: ऑटो-कम्प्लीटसह गुगल API क्रेडिट्स वाचवणे

गुगलच्या नवीन API किमतींमुळे अनेकांचा फायदा झाला आहे. तथापि, जर तुमचे ॲप मॅपिंगच्या संपूर्ण वैशिष्ट्यांचा वापर करत असेल आणि तुमचे बरेच युजर्स असतील, तर तुमचे क्रेडिट्स वेगाने संपत असल्याचे तुमच्या लक्षात येईल. ऑटो-कम्प्लीट आणि प्लेस सर्च ही अशी दोन फंक्शन्स आहेत जी थेट तुमच्या क्रेडिट्समधून वापरली जातात आणि त्यांना रोजचा मोफत कोटा लागू होत नाही.

जर तुम्ही Scribble Maps API सोबत तुमचे गुगल लायसन्स वापरत असाल, तर आम्ही यातील काही ऑप्टिमायझेशन्स आधीपासूनच करून देतो, पण जर तुम्ही थेट गुगल मॅप्स API वर तुमची स्वतःची कस्टमाइज्ड सिस्टीम तयार करत असाल, तर ऑटो-कम्प्लीट क्रेडिट्स वाचवण्यासाठी तुम्ही एक सोपा बदल करू शकता.

स्टँडर्ड ऑटो-कम्प्लीट फंक्शनॅलिटी इनपुटमधील प्रत्येक बदलासोबत एक ऑटो-कम्प्लीट रिक्वेस्ट पाठवते. इनपुट बदलताना एक टाईमआऊट (timeout) ठेवून वापरल्या जाणाऱ्या क्रेडिट्सचे प्रमाण लक्षणीयरीत्या कमी करणे शक्य आहे.

याचे एक अगदी सोपे उदाहरण खालीलप्रमाणे आहे.

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

त्यामुळे प्रत्येक वेळी जेव्हा युजर इनपुट टाईप करण्यास सुरुवात करेल, तेव्हा क्षणभराचा विलंब होईपर्यंत ऑटो-कम्प्लीट सुरू होणार नाही. ऑटो-कम्प्लीट अधिक वेगाने सुरू करण्यासाठी २५०ms चा हा विलंब कमी केला जाऊ शकतो. जर युजरने वेगाने "Toronto" टाईप केले, तर युजर थांबल्यावर ८ ऐवजी फक्त एकच ऑटो-कम्प्लीट कॉल कार्यान्वित केला जाईल.

आमच्या मते हा टाईम डिले (timed delay) सर्वात चांगला काम करतो. यामध्ये एक महत्त्वाची गोष्ट म्हणजे, युजर टाईप करत असताना सर्च सुरू आहे हे युजर इंटरफेसवर दिसणे आवश्यक आहे. आमच्या बाबतीत आम्ही यासाठी ॲनिमेटेड स्पिनर (animated spinner) वापरतो. यामुळे जर युजर वेगाने टाईप करत असेल आणि त्याला लगेच रिझल्ट दिसले नाहीत, तर तो ॲनिमेटेड स्पिनर पाहून रिझल्ट दिसेपर्यंत थोडा वेळ थांबेल.

हे लक्षात घेतले पाहिजे की याची अंमलबजावणी करणे त्यांच्या सध्याच्या वापरण्याच्या अटींशी (terms of use) सुसंगत आहे. ही पद्धत प्रामुख्याने युजरकडून जाणाऱ्या ऑटो-कम्प्लीट कॉल्सच्या संख्येवर नियंत्रण ठेवते.
← All posts