माइग्रेशन: google.load में मैप मॉड्यूल

हम 13 अक्टूबर, 2021 से, "Maps" मॉड्यूल की सेवा देने वाली google.load की सेवा को बंद कर देंगे. इसका मतलब है कि 13 अक्टूबर, 2021 के बाद, अगर आप "Maps" मॉड्यूल का इस्तेमाल google.load करने की कोशिश करते हैं, तो आपको गड़बड़ी का मैसेज (मॉड्यूल "मैप" काम नहीं करता है) दिखेगा. साथ ही, कोई मैप लोड नहीं होगा. संभावित ब्रेक से बचने के लिए, आपको किसी एक विकल्प पर स्विच करना होगा.

मुझे क्या करना होगा?

सबसे पहले, google.load लोड करने वाले <script> टैग को हटाएं. इसके बाद, google.load को कॉल हटाएं. अगर आप अन्य चीज़ों के लिए Google लोडर का उपयोग कर रहे हैं, तो लोडर को <script> टैग के जैसा छोड़ दें.

इसके बाद, Maps JavaScript एपीआई को लोड करने का नया तरीका लागू करें (नीचे दिया गया कोई एक विकल्प चुनें):

Google लोडर का इस्तेमाल करने वाला मौजूदा उदाहरण

नीचे दिए गए उदाहरण में दिखाया गया है कि फ़िलहाल Google लोडर का इस्तेमाल, Maps JavaScript API को लोड करने के लिए कैसे किया जाता है (यहां दो <script> ब्लॉक हैं):

पहले

<script type='text/javascript' src='https://www.google.com/jsapi'></script>
<script type='text/javascript'>
google.load("maps", "3.exp", {
    "callback": initMap,
    "key": "YOUR_KEY",
    "libraries": "places,visualization"
});
function initMap() {
  // Google Maps JS API is loaded and available
}
</script>

इस तरीके का इस्तेमाल करने पर, Maps JavaScript एपीआई उसी समय लोड होता है, जब पेज लोड होता है. इनलाइन लोड करने की सुविधा को लागू करने के लिए, सबसे पहले <script> वह टैग बदलें जो www.google.com/jsapi ("पहले") को लोड करता है. <script> को नीचे दिए गए उदाहरण में दिखाया गया है:

<script async src="https://maps.googleapis.com/maps/api/js?libraries=places,visualization&key=YOUR_API_KEY&v=weekly&callback=initMap">
</script>

इसके बाद, अपने JavaScript कोड में google.load फ़ंक्शन कॉल को हटाएं, क्योंकि इसकी ज़रूरत नहीं है. नीचे दिए गए उदाहरण में, खाली initMap() फ़ंक्शन दिखाया गया है. जब Maps लाइब्रेरी लोड हो गई है, तब यह फ़ंक्शन काम करता है:

<script type='text/javascript'>
function initMap() {
  // Google Maps JS API is loaded and available
}
</script>

दस्तावेज़ देखें

दूसरी JavaScript फ़ाइल से डाइनैमिक तरीके से लोड करना

डाइनैमिक लोडिंग से यह कंट्रोल किया जा सकता है कि Maps JavaScript API लोड हो. उदाहरण के लिए, Maps JavaScript एपीआई को तब तक लोड किया जा सकता है, जब तक उपयोगकर्ता बटन पर क्लिक नहीं करता या कोई दूसरी कार्रवाई नहीं करता. डाइनैमिक लोडिंग को लागू करने के लिए, www.google.com/jsapi ("before") को लोड करने वाले <script> टैग को, प्रोग्राम के हिसाब से, <script> टैग की मदद से जोड़ें. इसका उदाहरण नीचे दिया गया है:

var script = document.createElement('script');
script.src =
'https://maps.googleapis.com/maps/api/js?libraries=places,visualization&key=YOUR_API_KEY&v=weekly&callback=initMap';
script.async=true;

इसके बाद, अपने कॉलबैक फ़ंक्शन को इस तरह से विंडो ऑब्जेक्ट से अटैच करें:

window.initMap = function() {
  // Google Maps JS API is loaded and available
};

आखिर में, <script> टैग को पेज के हेडर में इस तरह जोड़ें:

document.head.appendChild(script);

दस्तावेज़ देखें