מתחילים

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

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

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

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

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

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

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

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

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

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

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

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

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

עדכון קוד ההפעלה של המפה

בשלב הזה צריך להזין את מזהה המפה שיצרתם. אפשר למצוא אותו בדף ניהול מפות.

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

קבלת גישה לשכבת תכונות של מפה

משתמשים באובייקט 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());