אני רוצה לנסות

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

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

הפעלת הכלי החדש לרינדור מפות

כלי משודרג לרינדור מפות זמין החל מגרסה 18.0.0 של SDK של מפות ל-Android. כלי הרינדור הזה מציע שיפורים רבים, כולל תמיכה בעיצוב מפות מבוסס-ענן ל-SDK של מפות Google ל-Android.

עם הפצת גרסה 18.2.0 של ה-SDK של מפות Google ל-Android, Google שינתה את מאפשר ברירת מחדל של רינדור ברירת מחדל מהכלי הקודם לרינדור המפות ועד לרינדור המפות המשודרג. הזה המשמעות של שינוי היא שמעבד המפות המשודרג משמש עכשיו כברירת מחדל באפליקציה שלכם כשיוצרים אפליקציה חדשה או בונים מחדש אפליקציה קיימת.

יצירת מזהה מפה

כדי ליצור מזהה מפה חדש, יש לפעול לפי השלבים הבאים: יוצרים מזהה מפה. חשוב לוודא מגדירים את סוג המפה ל-Android.

יצירת סגנון מפה חדש

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

בחירת שכבות התכונות בסגנון המפה החדש

במסוף Google API תוכלו לבחור באילו שכבות תכונות יוצגו לכם סגנון המפה החדש. שכבת התכונות קובעת אילו סוגי גבולות יופיעו במפה (לדוגמה, רשויות מוניציפאליות, מדינות וכן הלאה).

  1. במסוף Google API, נכנסים לדף 'סגנונות מפות'.
  2. אם מוצגת הנחיה, בוחרים פרויקט.
  3. בוחרים סגנון מפה.
  4. לוחצים על התפריט הנפתח שכבות של תכונות כדי להוסיף או להסיר שכבות.
  5. לוחצים על שמירה כדי לשמור את השינויים ולהפוך אותם לזמינים במפות.

צילום מסך שבו מוצגת התפריט הנפתח.

עדכון הקוד של אתחול המפה

כדי לבצע את השלב הזה צריך את מזהה המפה שיצרתם. ניתן למצוא את המדריך. ניהול מפות 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());