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

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

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

सुरक्षा

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

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

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

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

परफ़ॉर्मेंस

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

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

एक्सपोनेंशियल बैकऑफ़, 500 के दशक की गड़बड़ियों के लिए सबसे ज़्यादा फ़ायदेमंद होता है. ज़्यादा जानकारी के लिए, सामान लौटाने के एचटीटीपी कोड मैनेज करना देखें.

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

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

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

मैप के हिलने पर ओवरले सामग्री दिखाने से बचना

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

Draw मेथड से इंटेंसिव ऑपरेशन से बचना

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

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

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

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

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

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

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

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

मैप पर स्थानों की पहचान करने के लिए मार्कर के प्रदर्शन का प्रबंधन करने में सहायता के लिए मार्कर क्लस्टर लाइब्रेरी का इस्तेमाल करके मार्कर क्लस्टर बनाएं. मार्कर क्लस्टर की लाइब्रेरी में ये विकल्प शामिल हैं:

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

इस्तेमाल

अपने बजट की योजना बनाने और अपनी लागतों को नियंत्रित करने के लिए, ये काम करें:

  • बजट अलर्ट सेट करके यह ट्रैक करें कि किसी खास रकम में, आपके खर्च में कितनी बढ़ोतरी हो रही है. बजट सेट करने से एपीआई का इस्तेमाल सीमित नहीं होता है - यह आपको सिर्फ़ तब सूचना देता है, जब आपकी लागतें आपकी तय की गई रकम के करीब होती हैं.
  • बिलिंग के एपीआई के लिए अपनी लागतें मैनेज करने के लिए, अपने रोज़ के एपीआई के इस्तेमाल की सीमा तय करें. हर दिन के अनुरोध पर कैप सेट करके, आप अपनी लागत को सीमित कर सकते हैं. आप कितना खर्च करना चाहते हैं, इसके आधार पर अपनी रोज़ की सीमा तय करने के लिए एक आसान समीकरण का इस्तेमाल करें: (महीने की लागत/हर की कीमत प्रति/3 = हर दिन की सीमा के लिए अनुरोध (एक एपीआई के लिए). लागू करने के आपके तरीके में कई बिल करने लायक एपीआई इस्तेमाल हो सकते हैं, इसलिए ज़रूरत के हिसाब से इक्वेशन में बदलाव करें. 200 डॉलर का Google Maps API क्रेडिट हर महीने उपलब्ध होता है, इसलिए इसे अपने हिसाब से इस्तेमाल करें.
  • आपके इस्तेमाल को अलग करने, प्राथमिकता देने, और ट्रैक करने के लिए एक से ज़्यादा प्रोजेक्ट का इस्तेमाल करें. उदाहरण के लिए, मान लें कि आप नियमित रूप से अपनी जांच में, Google Maps Platform API का इस्तेमाल करते हैं. अपने टेस्टिंग के लिए अलग प्रोजेक्ट बनाकर - एपीआई कोटा और कोटा के साथ कोटा दें. इसके अलावा, आप ज़रूरत से ज़्यादा खर्च से सुरक्षा के साथ पूरी तरह से टेस्ट कर सकते हैं.

Maps में खपत को मैनेज करें

हर पेज पर एक मैप का इस्तेमाल करना, मैप डिसप्ले को ऑप्टिमाइज़ करने का अच्छा तरीका है, क्योंकि उपयोगकर्ता आम तौर पर एक समय पर सिर्फ़ एक मैप के साथ इंटरैक्ट करते हैं. आपका ऐप्लिकेशन, ग्राहक के इंटरैक्शन और ज़रूरतों के हिसाब से अलग-अलग डेटा सेट दिखाने के लिए, मैप में बदलाव कर सकता है.

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

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

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

Maps एंबेड एपीआई का इस्तेमाल करना

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

मोबाइल ऐप्लिकेशन के लिए मोबाइल मैप SDK टूल का इस्तेमाल करना

मोबाइल ऐप्लिकेशन के लिए, Android के लिए Maps SDK टूल या मैप दिखाते समय iOS के लिए Maps SDK टूल का इस्तेमाल करें. जब मोबाइल SDK का इस्तेमाल किया जा रहा हो, तो Maps Static API या Maps JavaScript API का इस्तेमाल करें.

रास्तों में ऊर्जा की खपत का प्रबंधन

एपीआई के वेपॉइंट सीमित करना

अगर हो सके, तो क्वेरी में उपयोगकर्ताओं की एंट्री को ज़्यादा से ज़्यादा 10 वेपॉइंट तक सीमित करें. 10 से ज़्यादा वेपॉइंट वाले अनुरोधों का बिल ज़्यादा दर पर लिया जाता है.

रास्तों की बेहतर जानकारी के लिए, 'एपीआई' ऑप्टिमाइज़ेशन का इस्तेमाल करना

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

ऑप्टिमाइज़ेशन का तर्क, सबसे अच्छे रूटिंग को पक्का करने के लिए वेपॉइंट को क्रम में लगाता है. इसका मतलब है कि ऑप्टिमाइज़ किए गए (A-B-C-D-E) से बिना रूट किए हुए रूट के रैंडम क्रम (जैसे A-D-B-C-E) पर यात्रा करना एक बेहतर अनुभव होता है.

निर्देश एपीआई और डिस्टेंस मैट्रिक्स एपीआई में रीयल-टाइम ट्रैफ़िक मॉडल का इस्तेमाल करना

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

अगर किसी अनुरोध में ट्रैफ़िक मॉडल शामिल नहीं किए जाते हैं, तो नतीजे सिर्फ़ ट्रैफ़िक के आधार पर दिखते हैं: सड़कें, दूरी, और रफ़्तार की सीमाएं.

जब जीपीएस डेटा में गड़बड़ी हो

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

सैंपलिंग स्पीड की सीमा 5 से 15 मिनट के अंतराल पर है

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

पूरे इंतज़ार के समय को कम करने के लिए, हर बार मोबाइल एसेट की जगह मिलने पर, एपीआई को कॉल करने के बजाय डेटा इकट्ठा करने के बजाय, डिवाइस की स्पीड सीमा सेवा पर कॉल करें.

जगहों के इस्तेमाल को मैनेज करना

स्थान ऑटोकंप्लीट की सुविधा को ऑप्टिमाइज़ करना

प्लेस ऑटोकंप्लीट की सुविधा की लागत को ऑप्टिमाइज़ करने के लिए:

  • अपनी ज़रूरत के मुताबिक जगह के डेटा फ़ील्ड पर वापस जाने के लिए, JavaScript, Android, और iOS के ऑटोकंप्लीट विजेट में फ़ील्ड मास्क का इस्तेमाल करें.

  • बिलिंग विकल्प चुनें जो आपके इस्तेमाल के उदाहरण पर निर्भर करते हैं. आपने जो लागू किया है उसके आधार पर, ऑटोकंप्लीट सेशन का इस्तेमाल किया जाता है या नहीं. आपसे ऑटोकंप्लीट की सुविधा - हर अनुरोध के हिसाब से या ऑटोकंप्लीट की सुविधा - हर सेशन SKU पर शुल्क लिया जाएगा.

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

स्थान विवरण और स्थान खोज अनुरोधों में विशिष्ट फ़ील्ड के लिए डेटा वापस लौटना

अपने ऐप्लिकेशन में इस्तेमाल किए जाने वाले खास फ़ील्ड के लिए डेटा लौटाने के लिए, आप 'जगह की जानकारी' और 'जगह खोज करने' के अनुरोध को पसंद के मुताबिक बना सकते हैं. ये फ़ील्ड श्रेणियों में बंटे होते हैं: बुनियादी, संपर्क, और परिवेश. किसी भी फ़ील्ड के बारे में जानकारी न देने वाले अनुरोधों को सभी फ़ील्ड का डेटा मिलेगा.

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

जियोकोडिंग एपीआई का इस्तेमाल करके लागत कम करना

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

अगर आपके पास कोई सटीक पता है (या उसके पास है), तो आप ऑटोकंप्लीट की जगह जियोकोडिंग का इस्तेमाल करके कीमतों को कम कर सकते हैं. ज़्यादा जानकारी के लिए, जियोकोडिंग पते के सबसे सही तरीके देखें.

Google Maps Platform कोटा कैसे काम करता है

हमारे सभी एपीआई की सीमाएं हैं कि हर ग्राहक कितने कॉल कर सकता है. ये कोट प्रति मिनट के हिसाब से कॉन्फ़िगर किए जाते हैं. किसी दिए गए एपीआई पर एक मिनट में कॉल का कोटा पूरा हो जाने पर, आने वाले कॉल अगले मिनट तक स्वीकार नहीं किए जाएंगे.

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

कई Maps API में, हर मिनट के कोटा के हिसाब से, हर सेकंड के लिए नीति लागू करने की सुविधा उपलब्ध होती है. यह नीति, हर मिनट में लागू होने की सुविधा से पूरे मिनट में यूनिफ़ॉर्म के इस्तेमाल की गारंटी नहीं देती है. साथ ही, यह आपको उस मिनट में इस्तेमाल करने की सीमा तक पहुंचने से भी नहीं रोकती है. यह आपको दिए गए मिनट के पहले या दो मिनट में, आपके कोटा का पूरा इस्तेमाल करने से रोकता है. साथ ही, इस्तेमाल करने के अचानक बढ़ने पर, सेवा में आने वाली रुकावटों से आपकी सुरक्षा करता है. नीति उल्लंघन ठीक करने के तरीके (एनफ़ोर्समेंट) में होने वाले इन अंतर से निपटने के लिए, क्यूपीएस में अपने क्यूपीएम के इस्तेमाल का औसत लेकर, अपने कोटा के इस्तेमाल और ज़रूरतों की योजना बनाएं.

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

अपने अनुरोध की कुल संख्या के हिसाब से, किसी भी GMP एपीआई प्रॉडक्ट की कीमत का अनुमान लगाएं.