SDK של מפות לספריית השירותים ב-Android

בחירת פלטפורמה: Android iOS

רוצים להוסיף למפות תכונות מתקדמות? ספריית התמיכה של SDK של מפות ל-Android היא ספריית קוד פתוח של כיתות ששימושיות למגוון אפליקציות. המאגר ב-GitHub כולל את כיתות התשתית ואפליקציית דמו שממחישה את השימוש בכל כיתה.

בסרטון הזה, כריס ברודפוט מדבר על ספריית התשתית, עם דגש על פענוח קווים פוליגונים, גיאומטריה כדורית וסמלי בועות.

הגדרה מהירה

כדי להתקין את ספריית התכונות של SDK של מפות ל-Android, פועלים לפי מדריך ההגדרה.

כלי השירות

מפה עם שכבת GeoJSON

ייבוא קובץ GeoJSON למפה

אפשר לאחסן תכונות בפורמט GeoJSON ולהשתמש בכלי הזה כדי להציג אותן כשכבה מעל המפה. קוראים לפונקציה addLayer() כדי להוסיף את נתוני ה-GeoJSON למפה. אפשר גם להוסיף תכונות ספציפיות על ידי קריאה ל-addFeature(), והעברת אובייקט GeoJsonFeature.

פרטים נוספים זמינים במסמכי העזרה של הכלי של מפות Google ל-GeoJSON ב-Android.

מפה עם שכבת KML

ייבוא קובץ KML למפה

בעזרת הכלי הזה אפשר להמיר אובייקטים של KML לצורות גיאוגרפיות ולהציג אותם כשכבה מעל המפה. מפעילים את הפונקציה addLayerToMap() כדי להוסיף את השכבה למפה. כדי לגשת לנכסים באובייקט KML, צריך להפעיל את getProperties() על כל סמן, שכבת-על קרקע, מסמך או תיקייה.

פרטים נוספים זמינים במסמכי העזרה של הכלי של מפות Google ל-KML ב-Android.

מפה עם מפת חום

הוספת מפות חום למפה

מפות צפיפות מאפשרות לצופים להבין בקלות את ההתפלגות ואת העוצמה היחסית של נקודות הנתונים במפה. במקום להציב סמן בכל מיקום, במפות חום נעשה שימוש בצבע ובצורה כדי לייצג את חלוקת הנתונים. יוצרים HeatmapTileProvider ומעבירים לו אוסף של אובייקטים מסוג LatLng שמייצגים נקודות עניין במפה. לאחר מכן יוצרים TileOverlay חדש, מעבירים לו את ספק המשבצות של מפת החום ומוסיפים את שכבת-העל של המשבצות למפה.

פרטים נוספים זמינים במסמכי העזרה של הכלי של מפות Google ליצירת מפות חום ל-Android.

מפה עם סמלי בועות

התאמה אישית של סמנים באמצעות סמלי בועות

מוסיפים IconGenerator כדי להציג קטעי מידע על הסמנים. הכלי הזה מאפשר ליצור סמלי סמנים שנראים כמו חלונות מידע, כי הסמן עצמו יכול להכיל טקסט ותוכן אחר. היתרון הוא שאפשר להשאיר יותר מסמן אחד פתוח בו-זמנית, בעוד שרק חלון מידע אחד יכול להיות פתוח בכל פעם. אפשר גם לשנות את הסגנון של הסמנים, את הכיוון שלהם ו/או את התוכן שלהם, וגם את תמונת הרקע או את התמונה התלת-שכבתית של הסמנים.

מפה עם סמנים מקובצים

ניהול אשכולות של סמנים

הסמל ClusterManager עוזר לנהל כמה סמנים ברמות זום שונות. המשמעות היא שאפשר להוסיף למפה מספר גדול של סמנים בלי שהמפה תהיה קשה לקריאה. כשמשתמש מציג את המפה ברמת זום גבוהה, הסמנים הנפרדים מוצגים במפה. כשהמשתמש מקטין את התצוגה לרמה נמוכה יותר, הסמנים מתקבצים באשכול כדי להקל על הצפייה במפה.

פרטים נוספים זמינים במסמכי העזרה של הכלי לצבירה של סמנים במפות Google ל-Android.

מפה עם כמה שכבות

הוספת כמה שכבות לאותה מפה

אתם יכולים להציג תכונות מ-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() – הפונקציה מחזירה את קו הרוחב/האורך של נקודה שנמצאת בחלק מסוים מהמרחק בין שתי נקודות נתונות. אפשר להשתמש בכך כדי ליצור אנימציה של סמן בין שתי נקודות, לדוגמה.

רשימה מלאה של השיטות בכלי מופיעה במסמכי העזרה.

איך בודקים אם מיקום מסוים נתמך ב-Street View

בודקים אם מיקום מסוים נתמך ב-Street View.

בכיתה StreetViewUtil יש פונקציונליות לבדיקה אם מיקום מסוים נתמך ב-Street View. כדי להימנע משגיאות כשאתם מוסיפים תמונה פנורמית של Street View לאפליקציה ל-Android, תוכלו להפעיל את השירות הזה למטא-נתונים ולהוסיף תמונה פנורמית של Street View רק אם התגובה היא OK.

פרטים נוספים זמינים במסמכי העזרה של הכלי למטא-נתונים של Street View ב-GitHub.