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

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

सुरक्षा

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

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

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

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

परफ़ॉर्मेंस

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

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

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

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

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

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

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

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

Draw तरीकों में बहुत ज़्यादा कामों से बचना

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

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

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

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

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

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

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

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

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

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

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

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

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

Maps में इस्तेमाल की जानकारी मैनेज करना

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

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

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

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

Maps Embed API का इस्तेमाल करना

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

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

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

रूट में इस्तेमाल को मैनेज करना

दिशा-निर्देश API वेपॉइंट सीमित करना

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

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

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

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

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

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

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

तय किया गया रास्ता और जीपीएस डेटा सटीक न होने पर, सबसे नज़दीकी सड़क

Maps Roads API की सुविधाएं, तय किया गया रास्ता और सबसे नज़दीकी सड़क, बेहतर टियर में शामिल है और इनके लिए ज़्यादा शुल्क देना पड़ता है दर. इन सुविधाओं का उपयोग उन स्थानों पर करें जहां GPS डेटा सटीक है और Roads API की मदद से, सही सड़क का पता लगाया जा सकता है. स्पीड का डेटा Roads API की एक अन्य सुविधा, लिमिट्स है यह सिर्फ़ ऐसेट ट्रैकिंग का इस्तेमाल करने वाले ग्राहकों के लिए उपलब्ध है.

जगहों के सैंपल 5 से 15 मिनट के अंतराल में लिए जा सकते हैं

Maps Roads API पर कॉल की संख्या कम करने के लिए स्पीड लिमिट सेवा, 5 से 15 मिनट में अपनी ऐसेट की लोकेशन का सैंपल देखें अंतराल. सटीक वैल्यू, इस बात पर निर्भर करती है कि ऐसेट की स्पीड कितनी है यात्रा करते हुए. अगर कोई ऐसेट स्थिर है, तो एक लोकेशन का सैंपल काफ़ी हैं. कई बार कॉल करने की ज़रूरत नहीं है.

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

'जगहें' में खपत को मैनेज करना

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

स्थान ऑटोकंप्लीट का उपयोग करने की लागत को ऑप्टिमाइज़ करने के लिए:

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

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

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

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

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

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

Geocoding API का इस्तेमाल करके लागत कम करना

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

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

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

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

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

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

ऐसे GMP एपीआई जिनमें हर सेकंड के हिसाब से नीति उल्लंघन ठीक करने के तरीके (एनफ़ोर्समेंट) इस्तेमाल किए गए हैं निर्देशों का एपीआई, दूरी मैट्रिक्स एपीआई, एलिवेशन एपीआई, जियोकोडिंग एपीआई, Places API और सड़कें एपीआई.

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