עיצוב מפות חדש יתווסף בקרוב לפלטפורמה של מפות Google. העדכון הזה בסגנון המפה כולל לוח צבעים חדש שמוגדר כברירת מחדל ושיפורים בחוויית השימוש במפות ובנוחות השימוש. כל סגנונות המפה יעודכנו באופן אוטומטי במרץ 2025. אפשר לקרוא מידע נוסף על זמינות ועל האפשרות להצטרף בשלב מוקדם יותר במאמר בנושא סגנון מפה חדש לפלטפורמה של מפות Google.
רוצים להוסיף למפות תכונות מתקדמות? ספריית התמיכה של SDK של מפות ל-Android היא ספריית קוד פתוח של כיתות ששימושיות למגוון אפליקציות. המאגר ב-GitHub כולל את כיתות התשתית ואפליקציית דמו שממחישה את השימוש בכל כיתה.
בסרטון הזה, כריס ברודפוט מדבר על ספריית התשתית, עם דגש על פענוח קווים פוליגונים, גיאומטריה כדורית וסמלי בועות.
הגדרה מהירה
כדי להתקין את ספריית התכונות של SDK של מפות ל-Android, פועלים לפי מדריך ההגדרה.
כלי השירות
ייבוא קובץ GeoJSON למפה
אפשר לאחסן תכונות בפורמט GeoJSON ולהשתמש בכלי הזה כדי להציג אותן כשכבה מעל המפה.
קוראים לפונקציה addLayer() כדי להוסיף את נתוני ה-GeoJSON למפה.
אפשר גם להוסיף תכונות ספציפיות על ידי קריאה ל-addFeature(),
והעברת אובייקט GeoJsonFeature.
בעזרת הכלי הזה אפשר להמיר אובייקטים של KML לצורות גיאוגרפיות ולהציג אותם כשכבה מעל המפה. מפעילים את הפונקציה addLayerToMap() כדי להוסיף את השכבה למפה. כדי לגשת לנכסים באובייקט KML, צריך להפעיל את getProperties() על כל סמן, שכבת-על קרקע, מסמך או תיקייה.
מפות צפיפות מאפשרות לצופים להבין בקלות את ההתפלגות ואת העוצמה היחסית של נקודות הנתונים במפה. במקום להציב סמן בכל מיקום, במפות חום נעשה שימוש בצבע ובצורה כדי לייצג את חלוקת הנתונים. יוצרים HeatmapTileProvider ומעבירים לו אוסף של אובייקטים מסוג LatLng שמייצגים נקודות עניין במפה. לאחר מכן יוצרים TileOverlay חדש, מעבירים לו את ספק המשבצות של מפת החום ומוסיפים את שכבת-העל של המשבצות למפה.
מוסיפים IconGenerator כדי להציג קטעי מידע על הסמנים. הכלי הזה מאפשר ליצור סמלי סמנים שנראים כמו חלונות מידע, כי הסמן עצמו יכול להכיל טקסט ותוכן אחר. היתרון הוא שאפשר להשאיר יותר מסמן אחד פתוח בו-זמנית, בעוד שרק חלון מידע אחד יכול להיות פתוח בכל פעם.
אפשר גם לשנות את הסגנון של הסמנים, את הכיוון שלהם ו/או את התוכן שלהם, וגם את תמונת הרקע או את התמונה התלת-שכבתית של הסמנים.
ניהול אשכולות של סמנים
הסמל ClusterManager עוזר לנהל כמה סמנים ברמות זום שונות. המשמעות היא שאפשר להוסיף למפה מספר גדול של סמנים בלי שהמפה תהיה קשה לקריאה. כשמשתמש מציג את המפה ברמת זום גבוהה, הסמנים הנפרדים מוצגים במפה. כשהמשתמש מקטין את התצוגה לרמה נמוכה יותר, הסמנים מתקבצים באשכול כדי להקל על הצפייה במפה.
אתם יכולים להציג תכונות מ-GeoJSON, מ-KML ומאשכולות, וגם סמנים, קווים פוליגונים משלכם – והכול באותה מפה. אפשר גם להפוך את השכבות האלה לאינטראקטיביות על ידי הוספת מאזין קליקים לכל שכבה.
פשוט יוצרים מופע של הכיתות MarkerManager, GroundOverlayManager, PolygonManager ו-PolylineManager ומעבירים אותם למקלטי ה-constructor של GeoJsonLayer, KmlLayer ו-ClusterManager כשמגדירים אותם. לאחר מכן תוכלו להשתמש ישירות ב-Manager classes שלמעלה כדי להוסיף למפה סמנים, קווים פוליגונליים ופוליגונים משלכם.
פרטים נוספים זמינים במסמכי העזרה של הדגמה של שכבות מרובות במפות Google ל-Android.
קידוד ופענוח של קווים מרובים
הפונקציה PolyUtil שימושית להמרת קווים פוליגונים ופוליגונים מקודדים לקואורדינטות של קו אורך וקו רוחב, ולהיפך.
במפות Google, קואורדינטות קווי הרוחב והאורך שמגדירות קו פוליגון או פוליגון מאוחסנות כמחרוזת מקודדת. הסבר מפורט על קידוד קווים פוליגונים יכול להיות שתקבלו את המחרוזת המוצפנת הזו בתגובה מ-Google API, כמו Directions API (מדור קודם).
אפשר להשתמש ב-PolyUtil בספריית התמיכה של Maps SDK ל-Android כדי לקודד רצף של קואורדינטות קו הרוחב/אורך (LatLngs) למחרוזת נתיב מקודדת, ולפענח מחרוזת נתיב מקודדת לרצף של LatLngs. כך תוכלו להבטיח יכולת פעולה הדדית עם שירותי האינטרנט של ממשקי ה-API של מפות Google.
חישוב מרחקים, שטחים וכיוונים באמצעות גיאומטריה כדורית
בעזרת כלי הגיאומטריה הכדורית ב-SphericalUtil, אפשר לחשב מרחקים, שטחים וכיוונים על סמך קוי רוחב וקו אורך. ריכזנו כאן כמה מהשיטות הזמינות בכלי:
computeDistanceBetween() – הפונקציה מחזירה את המרחק, במטרים, בין שתי קואורדינטות של קו רוחב/אורך.
computeHeading() – הפונקציה מחזירה את כיוון הצפון, במעלות, בין שתי קואורדינטות של קו רוחב/אורך.
computeArea() – הפונקציה מחזירה את השטח, במטרים רבועים, של נתיב סגור על פני כדור הארץ.
interpolate() – הפונקציה מחזירה את קו הרוחב/האורך של נקודה שנמצאת בחלק מסוים מהמרחק בין שתי נקודות נתונות. אפשר להשתמש בכך כדי ליצור אנימציה של סמן בין שתי נקודות, לדוגמה.
בכיתה StreetViewUtil יש פונקציונליות לבדיקה אם מיקום מסוים נתמך ב-Street View. כדי להימנע משגיאות כשאתם מוסיפים תמונה פנורמית של Street View לאפליקציה ל-Android, תוכלו להפעיל את השירות הזה למטא-נתונים ולהוסיף תמונה פנורמית של Street View רק אם התגובה היא OK.
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2025-03-13 (שעון UTC)."],[[["The Maps SDK for Android Utility Library is an open-source library offering advanced features for enhancing Google Maps in Android applications."],["It provides utilities for importing GeoJSON and KML data, adding heatmaps, clustering markers, managing multiple map layers, and working with polylines."],["The library includes features for customizing markers with bubble icons and performing spherical geometry calculations for distances, areas, and headings."],["Developers can quickly set up the library by following the provided setup guide and access detailed documentation for each utility."],["A demo app is included in the GitHub repository showcasing the usage of the various classes and functionalities within the library."]]],["The Maps SDK for Android Utility Library offers tools for enhancing map functionality. Key actions include importing GeoJSON and KML data, adding heatmaps, managing marker clusters, and customizing markers with bubble icons. It supports adding multiple layers, and it also allows users to encode/decode polylines and utilize spherical geometry for distance, area, and heading calculations. Additionally, users can check if a location is supported in street view. All utilities are open-source, and can be viewed with the provided demo app.\n"]]