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

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

सुरक्षा

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

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

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

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

परफ़ॉर्मेंस

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

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

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

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

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

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

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

Draw तरीकों में ज़्यादा डेटा प्रोसेस करने से बचना

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

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

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

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

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

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

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

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

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

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

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

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