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

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

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

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

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

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

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

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