ऑप्टिमाइज़ेशन गाइड

इस गाइड में, सुरक्षा, परफ़ॉर्मेंस, और खपत के हिसाब से Google Maps API के इस्तेमाल को ऑप्टिमाइज़ करने की कई रणनीतियां बताई गई हैं.

सुरक्षा

सुरक्षा के सबसे सही तरीकों की समीक्षा करना

एपीआई पासकोड, प्रोजेक्ट के हिसाब से क्रेडेंशियल होते हैं. इन्हें यूज़र आईडी और पासवर्ड की तरह ही सुरक्षित रखना चाहिए. एपीआई की सुरक्षा के सबसे सही तरीके देखें, ताकि आपकी कुंजियों को गलत इस्तेमाल से सुरक्षित रखा जा सके. गलत इस्तेमाल की वजह से, कोटे का गलत इस्तेमाल हो सकता है और आपके खाते पर अनचाहे शुल्क लग सकते हैं.

Maps API को ऐक्सेस करने के लिए, एपीआई पासकोड का इस्तेमाल करना

Google Maps API को ऐक्सेस करने के लिए, एपीआई पासकोड से पुष्टि करने का तरीका सबसे सही है. क्लाइंट आईडी का इस्तेमाल अब भी किया जा सकता है. हालांकि, एपीआई पासकोड से सुरक्षा को बेहतर तरीके से कंट्रोल किया जा सकता है. साथ ही, इन्हें खास वेब पतों, आईपी पतों, और मोबाइल SDK टूल (Android और iOS) के साथ काम करने के लिए ट्यून किया जा सकता है. एपीआई पासकोड बनाने और उसे सुरक्षित रखने के बारे में जानकारी पाने के लिए, हर एपीआई या एसडीके के "एपीआई पासकोड का इस्तेमाल करना" पेज पर जाएं. (उदाहरण के लिए, Maps JavaScript API के लिए, एपीआई पासकोड का इस्तेमाल करना पेज पर जाएं.)

परफ़ॉर्मेंस

गड़बड़ियों को ठीक करने के लिए, एक्स्पोनेंशियल बैकऑफ़ का इस्तेमाल करना

अगर आपके ऐप्लिकेशन में कम समय में किसी एपीआई को कॉल करने की ज़्यादा कोशिशों की वजह से गड़बड़ियां होती हैं, जैसे कि कोटे से जुड़ी गड़बड़ियां, तो अनुरोधों को प्रोसेस करने के लिए एक्स्पोनेंशियल बैकऑफ़ का इस्तेमाल करें. एक्स्पोनेंशियल बैकऑफ़, 500s की गड़बड़ियों के लिए सबसे ज़्यादा मददगार होता है.

खास तौर पर, अपनी क्वेरी की रफ़्तार को अडजस्ट करें. अपने कोड में, क्वेरी के बीच S सेकंड का इंतज़ार करने का समय जोड़ें. अगर क्वेरी के बाद भी कोटा खत्म होने की गड़बड़ी दिखती है, तो इंतज़ार करने की अवधि को दोगुना करें. इसके बाद, दूसरी क्वेरी भेजें. इंतज़ार की अवधि को तब तक अडजस्ट करते रहें, जब तक क्वेरी बिना किसी गड़बड़ी के वापस नहीं आ जाती.

मांग के हिसाब से, उपयोगकर्ता के इंटरैक्शन के अनुरोध भेजना

उपयोगकर्ता के इंटरैक्शन वाले एपीआई के अनुरोध, सिर्फ़ मांग पर भेजे जाने चाहिए. इसका मतलब है कि एपीआई अनुरोध शुरू करने के लिए, असली उपयोगकर्ता की किसी कार्रवाई (जैसे कि on-click) का इंतज़ार करना. इसके बाद, नतीजों का इस्तेमाल करके मैप लोड करना, डेस्टिनेशन सेट करना या सही जानकारी दिखाना. मांग पर डेटा फ़ेच करने से, एपीआई को ग़ैर-ज़रूरी अनुरोध नहीं भेजे जाते. इससे एपीआई का इस्तेमाल कम होता है.

मैप के मूव होने पर, ओवरले कॉन्टेंट दिखाने से बचना

मैप पर कस्टम ओवरले कॉन्टेंट दिखाने के लिए, Draw() का इस्तेमाल करने से बचें. ऐसा तब करें, जब उपयोगकर्ता मैप को मूव कर रहा हो. जब भी कोई उपयोगकर्ता मैप को मूव करता है, तो मैप फिर से ड्रॉ होता है. इसलिए, मैप पर एक ही समय में ओवरले कॉन्टेंट डालने से, लैग या विज़ुअल स्टटरिंग की समस्या आ सकती है. जब उपयोगकर्ता पैन या ज़ूम करना बंद कर दे, तब ही मैप पर ओवरले कॉन्टेंट जोड़ें या हटाएं.

Draw तरीकों में ज़्यादा समय लेने वाले ऑपरेशन से बचना

आम तौर पर, Draw() तरीके में, ड्रॉइंग से जुड़े ऐसे ऑपरेशन इस्तेमाल करने से बचना चाहिए जो परफ़ॉर्मेंस पर असर डालते हैं. उदाहरण के लिए, अपने Draw() मेथड कोड में इन चीज़ों से बचें:

  • ऐसी क्वेरी जिनके जवाब में बहुत सारा कॉन्टेंट मिलता है.
  • दिखाए जा रहे डेटा में कई बदलाव किए गए हैं.
  • कई डॉक्यूमेंट ऑब्जेक्ट मॉडल (डीओएम) एलिमेंट में बदलाव करना.

इन कार्रवाइयों की वजह से, मैप रेंडर होने पर परफ़ॉर्मेंस धीमी हो सकती है. साथ ही, मैप लोड होने में देरी हो सकती है या विज़ुअल रुक-रुककर दिख सकते हैं.

मार्कर के लिए रास्टर इमेज का इस्तेमाल करना

मैप पर किसी जगह की पहचान करने के लिए मार्कर जोड़ते समय, रास्टर इमेज का इस्तेमाल करें. जैसे, .PNG या .JPG फ़ॉर्मैट में मौजूद इमेज. स्केलेबल वेक्टर ग्राफ़िक्स (एसवीजी) इमेज का इस्तेमाल करने से बचें. ऐसा इसलिए, क्योंकि एसवीजी इमेज रेंडर करने से, मैप को फिर से ड्रॉ करने में देरी हो सकती है.

मार्कर ऑप्टिमाइज़ करना

ऑप्टिमाइज़ेशन की सुविधा, कई मार्कर को एक स्टैटिक एलिमेंट के तौर पर रेंडर करके परफ़ॉर्मेंस को बेहतर बनाती है. यह उन मामलों में मददगार होता है जहां बड़ी संख्या में मार्कर की ज़रूरत होती है. डिफ़ॉल्ट रूप से, Maps JavaScript API यह तय करेगा कि मार्कर को ऑप्टिमाइज़ किया जाएगा या नहीं. जब मार्कर की संख्या ज़्यादा होती है, तो Maps JavaScript API, मार्कर को ऑप्टिमाइज़ेशन के साथ रेंडर करने की कोशिश करेगा. सभी मार्कर ऑप्टिमाइज़ नहीं किए जा सकते. कुछ मामलों में, Maps JavaScript API को ऑप्टिमाइज़ेशन के बिना मार्कर रेंडर करने पड़ सकते हैं. ऐनिमेट किए गए GIF या PNG के लिए, ऑप्टिमाइज़ की गई रेंडरिंग की सुविधा बंद करें. इसके अलावा, जब हर मार्कर को अलग डीओएम एलिमेंट के तौर पर रेंडर करना ज़रूरी हो, तब भी इस सुविधा को बंद करें.

मार्कर डिसप्ले को मैनेज करने के लिए क्लस्टर बनाना

मैप पर जगहों की पहचान करने के लिए, मार्कर के डिसप्ले को मैनेज करने में मदद पाने के लिए, मार्कर क्लस्टरर लाइब्रेरी का इस्तेमाल करके मार्कर क्लस्टर बनाएं. मार्कर क्लस्टरर लाइब्रेरी में ये विकल्प शामिल हैं:

  • ग्रिड साइज़, ताकि यह तय किया जा सके कि एक क्लस्टर में कितने मार्कर को ग्रुप किया जाए.
  • ज़ूम करने का ज़्यादा से ज़्यादा लेवल, जिससे यह तय किया जा सके कि क्लस्टर को किस लेवल तक ज़ूम करके दिखाया जा सकता है.
  • इमेज पाथ, ताकि ग्राफ़िक इमेज को मार्कर आइकॉन के तौर पर इस्तेमाल किया जा सके.

संगीत का आनंद लेना

Google Maps Platform की लागत को मैनेज करने के बारे में जानकारी पाने के लिए, लागत मैनेज करें लेख पढ़ें. इसमें बजट बनाने, कोटा में बदलाव करने, और सूचनाएं सेट करने के बारे में जानकारी शामिल है.