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

इस गाइड में, 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 की लागत को मैनेज करने के बारे में जानकारी पाने के लिए, लागत मैनेज करें पर जाएं. इसमें बजट बनाना, कोटा में बदलाव करना, और सूचनाएं सेट करना शामिल है.