גרסת שדרוג של ה-renderer של המפה זמינה החל מגרסה 18.2.0 של ה-SDK של מפות ל-Android. הכלי הזה מספק שיפורים רבים, כולל תמיכה בסגנון של מפות מבוססות-ענן.
היתרון של ה-renderer החדש הוא:
- עיצוב מפות מבוסס-ענן שזמינות בכלי החדש לרינדור.
- התאמות אישיות מתקדמות של קווים פוליגונים זמינות באמצעות המרת הפורמט החדשה.
- הפחתת העומס ברשת, הביקוש לעיבוד וצריכת הזיכרון.
- טיפול משופר באמצעות תנועות לקבלת אנימציות טובות יותר, וגם הזזה חלקה יותר לשנות את מרחק התצוגה.
- מעברים גמישים יותר ותוויות מפה שממוקמות באופן ברור.
- חוויית משתמש יציבה וטובה יותר.
סטטוס העדכון האוטומטי
במרץ 2024, Google התחילה לעדכן באופן אוטומטי את כל האפליקציות שנפרסו לשימוש לרינדור המשודרג. עדכונים אוטומטיים הוחלו על כל האפליקציות שפועלות במכשירים שעומדים בדרישות המינימליות לגבי מכשירים, בלי קשר לגרסת ה-SDK של מפות Google ל-Android שבה האפליקציה משתמשת. ההשקה הזו הושלם.
העדכונים האוטומטיים לא חלים על:
אפליקציות שכבר עודכנו לשימוש בכלי המשודרג לרינדור.
אפליקציות שביטלו את ההסכמה לשדרוג באופן מפורש.
אפליקציות שפועלות במכשירים שלא עומדים בדרישות של מספר המכשירים המינימלי הדרישות.
מכשירים נתמכים
כדי להשתמש בכלי המשודרג לעיבוד מפות, המכשירים צריכים לעמוד בקריטריונים הבאים:
- Android 5.0 (רמת API 21) ואילך
- שימוש ב-Google Play Services בגרסה 21.39.14 ואילך
במכשירים עם Android 4.4W (API ברמה 20) וגרסאות קודמות, או במכשירים עם שירותי Google Play בגרסה 21.39.13 וגרסאות קודמות, ימשיך להשתמש במעבד הגרפיקה הקודם.
ביטול ההסכמה לשימוש במעבד הגרפיקה המשודרג
במקרה הצורך, ניתן לבטל באופן מפורש את ההסכמה לשימוש בכלי המשודרג כדי להשתמש בכלי לרינדור מדור קודם באפליקציה.
כדי לבטל את ההסכמה:
שדרוג SDK של מפות ל-Android ל- גרסה 18.0 ומעלה.
צריך לעדכן את הקוד כדי לייבא באופן מפורש את MapsInitializer וגם MapsInitializer.Renderer
מעדכנים את הקוד כך שיפעיל את
MapsInitializer.initialize()
, ומעבירים את הערךRenderer.LEGACY
כדי לבטל את ההסכמה ולהשתמש במעבד הקודם.שימוש ב-OnMapsSdkInitializedCallback כדי לקבוע איזו גרסה של כלי הרינדור הוחזרה.
הקוד חייב להתקשר
MapsInitializer.initialize()
לפני כל
MapView,
MapFragment,
או
SupportMapFragment
נוצרה, מומלץ להתקשר למספר הזה בonCreate
עבור האפליקציה
Application,
או
פעילות,
לפני שתצוגת התוכן שלו מוגדרת.
בדוגמה הבאה מוסבר איך להפעיל את MapsInitializer.initialize()
כדי לבטל את ההסכמה לשימוש במעבד המפות הקודם.
Kotlin
import com.google.android.gms.maps.MapsInitializer import com.google.android.gms.maps.MapsInitializer.Renderer import com.google.android.gms.maps.OnMapsSdkInitializedCallback internal class MapRendererOptInApplication : Application(), OnMapsSdkInitializedCallback { override fun onCreate() { super.onCreate() MapsInitializer.initialize(applicationContext, Renderer.LEGACY, this) } override fun onMapsSdkInitialized(renderer: MapsInitializer.Renderer) { when (renderer) { Renderer.LATEST -> Log.d("MapsDemo", "The latest version of the renderer is used.") Renderer.LEGACY -> Log.d("MapsDemo", "The legacy version of the renderer is used.") } } }
Java
import com.google.android.gms.maps.MapsInitializer; import com.google.android.gms.maps.MapsInitializer.Renderer; import com.google.android.gms.maps.OnMapsSdkInitializedCallback; class MapRendererOptInApplication extends Application implements OnMapsSdkInitializedCallback { @Override public void onCreate() { super.onCreate(); MapsInitializer.initialize(getApplicationContext(), Renderer.LEGACY, this); } @Override public void onMapsSdkInitialized(MapsInitializer.Renderer renderer) { switch (renderer) { case LATEST: Log.d("MapsDemo", "The latest version of the renderer is used."); break; case LEGACY: Log.d("MapsDemo", "The legacy version of the renderer is used."); break; } } }