लाइब्रेरी

Maps JavaScript API के लिए JavaScript कोड लोड करने के लिए, आपको अपने पेज पर इस फ़ॉर्म में बूटस्ट्रैप लोडर स्क्रिप्ट शामिल करनी होगी:

<script>
  (g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})({
    key: "YOUR_API_KEY",
    v: "weekly",
    // Use the 'v' parameter to indicate the version to use (weekly, beta, alpha, etc.).
    // Add other bootstrap parameters as needed, using camel case.
  });
</script>

Maps JavaScript API, ऐसी लाइब्रेरी से बना है जो तब तक लोड नहीं होतीं, जब तक आप उनका खास तौर पर अनुरोध न करें. कॉम्पोनेंट को लाइब्रेरी में बांटने से, एपीआई को तेज़ी से लोड (और पार्स) करने में मदद मिलती है. लाइब्रेरी को लोड करने और पार्स करने का अतिरिक्त ओवरहेड सिर्फ़ तब होता है, जब आपको उनकी ज़रूरत होती है.

async फ़ंक्शन में से importLibrary() को कॉल करने के लिए, await ऑपरेटर का इस्तेमाल करके, रनटाइम के दौरान अतिरिक्त लाइब्रेरी लोड करें. उदाहरण के लिए:

const { Map } = await google.maps.importLibrary("maps");

यहां दिए गए कोड के उदाहरण में, Map और AdvancedMarkerElement, दोनों लाइब्रेरी लोड की जा रही हैं:

TypeScript

// Initialize and add the map
let map;
async function initMap(): Promise<void> {
  // The location of Uluru
  const position = { lat: -25.344, lng: 131.031 };

  // Request needed libraries.
  //@ts-ignore
  const { Map } = await google.maps.importLibrary("maps") as google.maps.MapsLibrary;
  const { AdvancedMarkerElement } = await google.maps.importLibrary("marker") as google.maps.MarkerLibrary;

  // The map, centered at Uluru
  map = new Map(
    document.getElementById('map') as HTMLElement,
    {
      zoom: 4,
      center: position,
      mapId: 'DEMO_MAP_ID',
    }
  );

  // The marker, positioned at Uluru
  const marker = new AdvancedMarkerElement({
    map: map,
    position: position,
    title: 'Uluru'
  });
}

initMap();

JavaScript

// Initialize and add the map
let map;

async function initMap() {
  // The location of Uluru
  const position = { lat: -25.344, lng: 131.031 };
  // Request needed libraries.
  //@ts-ignore
  const { Map } = await google.maps.importLibrary("maps");
  const { AdvancedMarkerElement } = await google.maps.importLibrary("marker");

  // The map, centered at Uluru
  map = new Map(document.getElementById("map"), {
    zoom: 4,
    center: position,
    mapId: "DEMO_MAP_ID",
  });

  // The marker, positioned at Uluru
  const marker = new AdvancedMarkerElement({
    map: map,
    position: position,
    title: "Uluru",
  });
}

initMap();

डाइनैमिक लाइब्रेरी इंपोर्ट के लिए लाइब्रेरी

डाइनैमिक लाइब्रेरी इंपोर्ट के साथ इस्तेमाल करने के लिए, ये लाइब्रेरी उपलब्ध हैं:

बूटस्ट्रैप यूआरएल (लेगसी) के लिए लाइब्रेरी

इन लाइब्रेरी का इस्तेमाल, लेगसी बूटस्ट्रैप स्क्रिप्ट टैग के साथ किया जा सकता है:

यहां दिए गए बूटस्ट्रैप अनुरोध में, लेगसी बूटस्ट्रैप लोडर स्क्रिप्ट में, Maps JavaScript API की google.maps.geometry लाइब्रेरी के लिए अनुरोध जोड़ने का तरीका बताया गया है:

<script async
    src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&loading=async&libraries=geometry&callback=initMap">
</script>

एक से ज़्यादा लाइब्रेरी का अनुरोध करने के लिए, उन्हें कॉमा से अलग करें:

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