מתחילים

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

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

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

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

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

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

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

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

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

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

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

  1. ב-Google API Console, נכנסים לדף סגנונות המפה.
  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());