כדי להגדיר סגנון מבוסס-נתונים בגבולות, יש לפעול לפי השלבים הבאים.
הפעלת הכלי החדש לרינדור מפות
כלי משודרג לרינדור מפות זמין החל מגרסה 18.0.0 של SDK של מפות ל-Android. כלי הרינדור הזה מציע שיפורים רבים, כולל תמיכה בעיצוב מפות מבוסס-ענן ל-SDK של מפות Google ל-Android.
עם הפצת גרסה 18.2.0 של ה-SDK של מפות Google ל-Android, Google שינתה את המוגדר כברירת מחדל, מהכלי הקודם לרינדור המפה ועד לרינדור המפות המשודרג. הזה המשמעות של שינוי היא שמעבד המפות המשודרג משמש עכשיו כברירת מחדל באפליקציה שלכם כשיוצרים אפליקציה חדשה או בונים מחדש אפליקציה קיימת.
יצירת מזהה מפה
כדי ליצור מזהה מפה חדש, יש לפעול לפי השלבים הבאים: יוצרים מזהה מפה. חשוב לוודא מגדירים את סוג המפה ל-Android.
יצירת סגנון מפה חדש
כדי ליצור סגנון מפה חדש, פועלים לפי ההוראות שבמאמר ניהול סגנונות המפה. כדי ליצור את הסגנון ולשייך את הסגנון למזהה המפה שיצרתם כרגע.
בחירת שכבות התכונות בסגנון המפה החדש
ב-Google API Console אפשר לבחור באילו שכבות תכונות להציג סגנון המפה החדש. שכבת התכונות קובעת אילו סוגי גבולות יופיעו במפה (לדוגמה, רשויות מוניציפאליות, מדינות וכן הלאה).
- במסוף Google API, נכנסים לדף 'סגנונות מפות'.
- אם מוצגת הנחיה, בוחרים פרויקט.
- בוחרים סגנון מפה.
- לוחצים על התפריט הנפתח שכבות של תכונות כדי להוסיף או להסיר שכבות.
- לוחצים על שמירה כדי לשמור את השינויים ולהפוך אותם לזמינים במפות.
עדכון הקוד של אתחול המפה
כדי לבצע את השלב הזה צריך את מזהה המפה שיצרתם. ניתן למצוא את המדריך. ניהול מפות Google.
כדי להוסיף את מזהה המפה לקוד האתחול: מוסיפים את מזהה המפה לאפליקציה.
קבלת גישה לשכבת התכונות של המפה
אתם משתמשים ב-FeatureLayer
לייצוג כל שכבת מאפיינים של מפה, כגון מיקוד או
שכבת המאפיינים של רשות מוניציפאלית. כדי לקבל גישה לאובייקט של שכבת מאפיינים, קוראים לפונקציה
GoogleMap.getFeatureLayer()
כשהמפה מופעלת:
Java
private FeatureLayer postalCodeLayer;
@Override public void onMapReady(GoogleMap map) { // Get the POSTAL_CODE feature layer. postalCodeLayer = map.getFeatureLayer(new FeatureLayerOptions.Builder() .featureType(FeatureType.POSTAL_CODE) .build()); ... }
Kotlin
private var postalCodeLayer: FeatureLayer? = null
override fun onMapReady(googleMap: GoogleMap) { // Get the POSTAL_CODE feature layer. postalCodeLayer = googleMap.getFeatureLayer(new FeatureLayerOptions.Builder() .featureType(FeatureType.POSTAL_CODE) .build()) ... }
עברו FeatureLayerOptions
לאובייקט getFeatureLayer()
כדי לציין את הסוג של שכבת התכונות. כאן
למשל, רוצים לגשת לשכבה POSTAL_CODE
. יצירת תמונה אחרת
אובייקט FeatureLayer
לכל שכבה שרוצים לעצב.
אחרי שמקבלים את האובייקט FeatureLayer
, אפשר להחיל עיצוב על
את פוליגונים של השטח את התכונה.
בדיקת יכולות המפה (חובה)
כדי להגדיר סגנון מבוסס-נתונים לתחומים יש צורך במזהה מפה. אם מזהה המפה חסר, או
הועבר מזהה מפה לא חוקי, לא ניתן לטעון סגנון מבוסס-נתונים לגבולות. בתור
כדי לפתור את הבעיה, אפשר להשתמש
MapCapabilities
כדי לבדוק אם יש תמיכה בעיצוב מבוסס-נתונים לגבולות.
Kotlin
val capabilities: MapCapabilities = googleMap.getMapCapabilities() System.out.println("Data-driven Styling is available: " + capabilities.isDataDrivenStylingAvailable())
Java
MapCapabilities capabilities = googleMap.getMapCapabilities(); System.out.println("Data-driven Styling is available: " + capabilities.isDataDrivenStylingAvailable());