כדי להגדיר סגנון מבוסס-נתונים בגבולות, יש לפעול לפי השלבים הבאים.
הפעלת הכלי החדש לרינדור מפות
כלי משודרג לרינדור מפות זמין החל מגרסה 18.0.0 של ה-SDK של מפות Google ל-Android. ה-renderer הזה מביא שיפורים רבים ל-SDK של מפות ל-Android, כולל תמיכה בעיצוב מפות מבוסס-ענן.
בגרסתה 18.2.0 של ה-SDK של מפות Google ל-Android, Google שינתה את רינדור ברירת המחדל מהכלי הקודם לרינדור, מהכלי המשודרג לרינדור המפות. בעקבות השינוי הזה, מעכשיו נעשה שימוש במעבד המפות המשודרג כברירת מחדל באפליקציה שלכם כשאתם יוצרים אפליקציה חדשה או יוצרים מחדש אפליקציה קיימת.
יצירת מזהה מפה
כדי ליצור מזהה מפה חדש, פועלים לפי השלבים המפורטים במאמר יצירת מזהה מפה. חשוב לוודא שהגדרתם את סוג המפה ל-Android.
יצירת סגנון מפה חדש
כדי ליצור סגנון מפה חדש, פועלים לפי ההוראות במאמר ניהול סגנונות מפה כדי ליצור את הסגנון, ומשייכים את הסגנון למזהה המפה שיצרתם.
בחירת שכבות התכונות בסגנון המפה החדש
במסוף Google API תוכלו לבחור אילו שכבות של תכונות יוצגו לסגנון המפה החדש. שכבת המאפיינים קובעת אילו סוגי גבולות יופיעו במפה (לדוגמה, רשויות מוניציפאליות, מדינות וכו').
- במסוף Google API, עוברים לדף Map Styles.
- אם מוצגת הנחיה, בוחרים פרויקט.
- בוחרים סגנון מפה.
- לוחצים על התפריט הנפתח שכבות של תכונות כדי להוסיף או להסיר שכבות.
- לוחצים על שמירה כדי לשמור את השינויים ולהפוך אותם לזמינים במפות.
עדכון קוד האתחול של המפה
כדי לבצע את השלב הזה צריך את מזהה המפה שיצרתם. הוא מופיע בדף ניהול מפות 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());