כדי לטעון את קוד ה-JavaScript של ה-JavaScript ל-API של מפות Google, יש לכלול בדף סקריפט טעינה של אתחול, בפורמט הבא:
<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_HERE", 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>
ה-API של מפות Google מורכב מספריות שלא נטענות עד שמבקשים אותן באופן ספציפי. פיצול רכיבים לספריות מאפשר ל-API לטעון (ולנתח) במהירות. אתם צריכים לצבור תקורה נוספת של טעינה וניתוח של ספריות, לפי הצורך.
יש לטעון ספריות נוספות בזמן הריצה על ידי שימוש באופרטור await
כדי לקרוא ל-importLibrary()
מתוך פונקציה async
. למשל:
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();
ספריות לייבוא של ספריות דינמיות
הספריות הבאות זמינות לשימוש בייבוא ספריות דינמיות:
core
(google.maps.CoreLibrary
)maps
(google.maps.MapsLibrary
)places
(google.maps.PlacesLibrary
)geocoding
(google.maps.GeocodingLibrary
)routes
(google.maps.RoutesLibrary
)marker
(google.maps.MarkerLibrary
)geometry
(google.maps.GeometryLibrary
)elevation
(google.maps.ElevationLibrary
)streetView
(google.maps.StreetViewLibrary
)journeySharing
(google.maps.JourneySharingLibrary
)drawing
(google.maps.DrawingLibrary
)visualization
(google.maps.VisualizationLibrary
)
ספריות עבור כתובת URL של אתחול (דור קודם)
הספריות הבאות נתמכות לשימוש עם תג הסקריפט הקודם של אתחול:drawing
מספק ממשק גרפי למשתמשים, המאפשר לשרטט פוליגונים, מלבנים, קווים מרובעים, סמנים וסמנים במפה. למידע נוסף, אפשר לקרוא את המסמך של ספריית השרטוטים.- הערך
geometry
כולל פונקציות של כלי עזר לחישוב ערכים גיאומטריים סקלרים (למשל המרחק והשטח) על פני השטח של כדור הארץ. למידע נוסף, אפשר לקרוא את התיעוד של הספרייה הגיאומטרית. journeySharing
מספק תמיכה לפתרונות התחבורה והלוגיסטיקה בפלטפורמה של מפות Google.localContext
מציג למשתמשים נקודות עניין חשובות בקרבת מיקום שציינת. למידע נוסף, אפשר לקרוא את מסמכי התיעוד של ספריית ההקשר המקומי.marker
מאפשר להוסיף למפות שלך סמנים מתקדמים שניתנים להתאמה אישית ולביצועים גבוהים. למידע נוסף, עיינו במסמכי התיעוד של הסמנים המתקדמים.places
מאפשר לאפליקציה לחפש מקומות כמו מוסדות, מיקומים גיאוגרפיים או נקודות עניין בולטות, באזור מוגדר. למידע נוסף, אפשר לקרוא את המסמך של ספריית המקומות.visualization
מספק מפות חום לייצוג חזותי של נתונים. למידע נוסף, אפשר לקרוא את המסמך של ספריית הרכיבים החזותיים.
הבקשה הבאה בנושא אתחול מראה איך להוסיף בקשה עבור הספרייה google.maps.geometry
של ה-API של JavaScript ב-Maps API, לסקריפט של תוכנת האתחול מהדור הקודם:
<script async
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=geometry&callback=initMap">
</script>
כדי לבקש כמה ספריות, מפרידים ביניהן באמצעות פסיק:
<script async
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=geometry,places&callback=initMap">
</script>