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

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

सुरक्षा

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

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

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

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

परफ़ॉर्मेंस

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

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

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

उपयोगकर्ता के इंटरैक्शन के अनुरोध, ज़रूरत पड़ने पर भेजना

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

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

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

Draw तरीकों में, ज़्यादा संसाधन इस्तेमाल करने वाली कार्रवाइयां न करना

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

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

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

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

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

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

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

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

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

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

खपत

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