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

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

सुरक्षा

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

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

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

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

परफ़ॉर्मेंस

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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