כדי לטעון את קוד ה-JavaScript של Maps JavaScript API, צריך לכלול בדף סקריפט של מעבד bootstrap, בפורמט הבא:
<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>
ממשק API של JavaScript במפות 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 של Bootstrap (מדור קודם)
הספריות הבאות נתמכות לשימוש עם תג הסקריפט הקודם של Bootstrap:drawing
מספק ממשק גרפי שמאפשר למשתמשים לצייר במפה פוליגונים, מלבנים, קווים פוליגונליים, עיגולים וסימנים. מידע נוסף זמין במסמכי התיעוד של ספריית הציורים.geometry
כולל פונקציות שירות לחישוב ערכים גיאומטרים סקלריים (כמו מרחק שטח) על פני כדור הארץ. מידע נוסף זמין במסמכי התיעוד של ספריית Geometry.journeySharing
מספק תמיכה בפתרונות של תחבורה ולוגיסטיקה בפלטפורמה של מפות Google.localContext
מציג למשתמשים מקומות מרכזיים של עניין בסביבת המיקום שציינתם. למידע נוסף, עיינו במסמכי התיעוד של ספריית Local Context.marker
מאפשרת להוסיף למפות סמנים מתקדמים עם ביצועים טובים וניתן להתאים אישית במידה רבה. מידע נוסף זמין במסמכי התיעוד בנושא סמנים מתקדמים.places
מאפשר לאפליקציה לחפש מקומות כמו מוסדות, מיקומים גיאוגרפיים או נקודות עניין בולטות באזור מוגדר. מידע נוסף זמין במסמכי התיעוד של ספריית המקומות.visualization
מספק מפות חום לייצוג חזותי של נתונים. למידע נוסף, עיינו במסמכי התיעוד של ספריית התצוגה החזותית.
בקשת האתחול הבאה ממחישה איך מוסיפים בקשה לספרייה google.maps.geometry
של Maps JavaScript API לסקריפט הטעינה הקודם של האתחול:
<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>