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

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

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

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

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

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

नीचे दिया गया उदाहरण दिखाता है कि Maps JavaScript API को लोड करने के लिए, फ़िलहाल Google Loader का इस्तेमाल कैसे किया जाता है (ये दो <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 API उसी समय लोड होता है जब पेज लोड होता है. इनलाइन लोडिंग लागू करने के लिए, सबसे पहले www.google.com/jsapi ("before") को लोड करने वाले <script> टैग को, यहां दिए गए उदाहरण में दिखाए गए <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 API को तब तक लोड होने का इंतज़ार किया जा सकता है, जब तक उपयोगकर्ता किसी बटन पर क्लिक नहीं करता या कोई दूसरी कार्रवाई नहीं करता. डाइनैमिक लोडिंग को लागू करने के लिए, सबसे पहले www.google.com/jsapi (&quot;before&quot;) को लोड करने वाले <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);

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