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

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

सुरक्षा

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

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

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

Google Maps API को ऐक्सेस करने के लिए, एपीआई पासकोड को पुष्टि करने के पसंदीदा तरीके के तौर पर इस्तेमाल किया जाता है. क्लाइंट आईडी का इस्तेमाल अब भी किया जा सकता है. हालांकि, एपीआई कुंजियों में सुरक्षा से जुड़े बेहतर कंट्रोल होते हैं. साथ ही, इन्हें खास वेब पतों, आईपी पतों, और मोबाइल एसडीके (Android और iOS) के साथ काम करने के लिए ट्यून किया जा सकता है. एपीआई पासकोड बनाने और उसे सुरक्षित करने के बारे में जानकारी पाने के लिए, हर एपीआई या एसडीके के "एपीआई पासकोड का इस्तेमाल करना" पेज पर जाएं. (उदाहरण के लिए, 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 की लागत मैनेज करने के बारे में जानकारी के लिए, लागत मैनेज करना लेख पढ़ें. इसमें बजट बनाना, कोटा में बदलाव करना, और सूचनाएं सेट करना शामिल है.