מתחילים

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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