מבוא
המדריך הזה מראה איך להוסיף לדף אינטרנט מפת Google עם סמן, באמצעות HTML. זו המפה שתיצרו באמצעות המדריך הזה. שני סמנים מוצבים, אחד במאונטיין ויו שבקליפורניה והשני בסיאטל שבוושינגטון.
שנתחיל?
אלה השלבים שנעסוק בהם ליצירת מפת Google עם סמן באמצעות HTML:
צריך דפדפן אינטרנט. בוחרים דפדפן ידוע כמו Google Chrome (מומלץ), Firefox, Safari או Edge, בהתאם לפלטפורמה שלכם ברשימת הדפדפנים הנתמכים.
שלב 1: קבלת מפתח API
בקטע הזה מוסבר איך לאמת את האפליקציה ל-Maps JavaScript API באמצעות מפתח API משלכם.
כך מקבלים מפתח API:
נכנסים אל מסוף Google Cloud.
יוצרים או בוחרים פרויקט.
לוחצים על המשך כדי להפעיל את ה-API ואת השירותים הקשורים.
בדף Credentials, מקבלים API key (ומגדירים את ההגבלות על מפתחות ה-API). הערה: אם יש לכם מפתח API בלתי מוגבל או מפתח עם הגבלות לדפדפן, תוכלו להשתמש בו.
במאמר שימוש במפתחות API מוסבר איך למנוע גניבת מכסות ולאבטח את מפתח ה-API.
הפעלת החיוב. למידע נוסף, ראו שימוש וחיוב.
עכשיו אתם יכולים להשתמש במפתח ה-API.
שלב 2: יוצרים HTML , CSS ו-JS
זהו הקוד של דף אינטרנט בסיסי בפורמט HTML:
<html> <head> <title>Add a Map with Markers using HTML</title> <!-- TODO: Add bootstrap script tag. --> </head> <body> <!-- TODO: Add a map with markers. --> </body> </html>
כדי לטעון מפה צריך להוסיף תג script
שמכיל את ה-Boot-loader של Maps JavaScript API, כפי שמוצג בקטע הקוד הבא (הוספת מפתח API משלכם):
<script
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&loading=async&libraries=maps,marker&v=beta" defer>
</script>
התראת ספוילר: כדאי לנסות את הדוגמה הסופית ב-JSFiddle.
שלב 3: הוספת מפה
כדי להוסיף מפת Google לדף, מעתיקים את רכיב ה-HTML של gmp-map
ומדביקים אותו ב-body
של דף ה-HTML:
<gmp-map center="37.4220656,-122.0840897" zoom="10" map-id="DEMO_MAP_ID" style="height: 400px"></gmp-map>
התוצאה תהיה המפה הבאה:
המפה שיצרתם עכשיו מתמקדת באזור המטרופולין של סן חוזה.
שלב 4: הוספת סמן
כדי להוסיף סמן למפה, צריך להשתמש ברכיב ה-HTML gmp-advanced-marker
.
מעתיקים את קטע הקוד הבא ומדביקים אותו מעל כל gmp-map
שהוספתם בשלב הקודם.
<gmp-map center="43.4142989,-124.2301242" zoom="4" map-id="DEMO_MAP_ID" style="height: 400px" > <gmp-advanced-marker position="37.4220656,-122.0840897" title="Mountain View, CA" ></gmp-advanced-marker> <gmp-advanced-marker position="47.648994,-122.3503845" title="Seattle, WA" ></gmp-advanced-marker> </gmp-map>
הקוד הקודם מוסיף שני סמנים ומשנה את הפרמטרים zoom
ו-center
ב-gmp-map
כדי להציג את הסמנים האלה בצורה טובה יותר. כדי להשתמש בסמנים מתקדמים צריך מזהה מפה (אפשר להשתמש ב-DEMO_MAP_ID
).
טיפים ופתרון בעיות
- אפשר להתאים אישית את המפה באמצעות עיצוב בהתאמה אישית.
- השתמשו ב-Developer Tools Console בדפדפן האינטרנט כדי לבדוק ולהריץ את הקוד, לקרוא דוחות שגיאה ולפתור בעיות בקוד.
- אפשר להשתמש במקשי הקיצור הבאים כדי לפתוח את המסוף ב-Chrome:
Command+Option+J (ב-Mac) או Control+Shift+J (ב-Windows). מבצעים את השלבים הבאים כדי לקבל את קואורדינטות של קו הרוחב וקו האורך של מיקום במפות Google.
- פותחים את מפות Google בדפדפן.
- לוחצים לחיצה ימנית על המיקום המדויק במפה שעבורו נדרשות הקואורדינטות.
- בוחרים באפשרות מה יש כאן בתפריט ההקשר שמופיע. המפה מציגה כרטיס בתחתית המסך. הקואורדינטות של קו הרוחב וקו האורך בשורה האחרונה של הכרטיס.
אפשר להמיר כתובת לקואורדינטות של קו רוחב וקו אורך באמצעות שירות הקידוד הגיאוגרפי. המדריכים למפתחים מספקים מידע מפורט על תחילת העבודה עם שירות הקידוד הגיאוגרפי.
קוד דוגמה מלא
בהמשך מוצגת המפה הסופית והקוד המלא לדוגמה ששימשו את המדריך הזה.
<html> <head> <title>Add a Map with Markers using HTML</title> <script src="https://polyfill.io/v3/polyfill.min.js?features=default"></script> <link rel="stylesheet" type="text/css" href="./style.css" /> <script type="module" src="./index.js"></script> </head> <body> <gmp-map center="43.4142989,-124.2301242" zoom="4" map-id="DEMO_MAP_ID" style="height: 400px" > <gmp-advanced-marker position="37.4220656,-122.0840897" title="Mountain View, CA" ></gmp-advanced-marker> <gmp-advanced-marker position="47.648994,-122.3503845" title="Seattle, WA" ></gmp-advanced-marker> </gmp-map> <!-- The `defer` attribute causes the script to execute after the full HTML document has been parsed. For non-blocking uses, avoiding race conditions, and consistent behavior across browsers, consider loading using Promises. See https://developers.google.com/maps/documentation/javascript/load-maps-js-api for more information. --> <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB41DRUbKWJHPxaFjMAwdrzWzbVKartNGg&libraries=maps,marker&v=beta" defer ></script> </body> </html>