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

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

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

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

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

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

यहां दिए गए उदाहरण में दिखाया गया है कि फ़िलहाल, Google Loader का इस्तेमाल करके 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 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 ("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);

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