כלי עיבוד מפות משודרג זמין החל מגרסה 18.0.0 של SDK של מפות ל-Android. הרינדור הזה מספק שיפורים רבים, כולל תמיכה בעיצוב מפות מבוסס-ענן. אפשר להביע הסכמה לנסות את המעבד החדש לפני שהוא הופך למעבד ברירת המחדל במכשירי Android באמצעות השקה מדורגת החל מיוני 2022 לכל הפחות.
כלי הרינדור החדש מספק את היתרונות הבאים:
- העיצוב של מפות מבוססות-ענן זמין ברינדור החדש.
- התאמות אישיות מתקדמות של Polyline זמינות עם הכלי החדש לעיבוד מודעות.
- צמצום העומס על הרשת, ביקוש לעיבוד וצריכת זיכרון.
- עיבוד משופר של תנועות לשיפור האנימציה, כולל הזזת המצלמה ושינוי מרחק התצוגה.
- יותר מעברי נוזלים ותוויות מפה ממוקמות בצורה ברורה.
- חוויית משתמש יציבה ומשופרת יותר.
מכשירים נתמכים
כדי להשתמש בעיבוד החדש, המכשירים צריכים לעמוד בקריטריונים הבאים:
- Android 5.0 (רמת API 21) ואילך
- אחסון נתונים בנפח 2 GB או יותר
- באמצעות Google Play Services מגרסה 21.39.14 ואילך
מכשירים עם Android מגרסה 4.4 ואט (רמת API 20) או גרסאות קודמות, או עם פחות מ-2GB לאחסון נתונים, או עם גרסה 21.39.13 או גרסה ישנה יותר של Google Play Services, ימשיכו להשתמש במעבד הקודם.
איך לנסות את הרינדור החדש
כדי להצטרף לתהליך העיבוד החדש, צריך לבצע את הפעולות הבאות:
- צריך לעדכן את תלויות האפליקציות כדי להשתמש ב-
com.google.android.gms:play-services-maps:18.0.0
ואילך. - עדכנו את הקוד כדי לייבא באופן מפורש את
MapsInitializer
וגם אתMapsInitializer.Renderer
. - כדי לבקש את המספר
Renderer.LATEST
צריך לעדכן את הקודMapsInitializer.initialize()
. - אפשר להשתמש ב-
OnMapsSdkInitializedCallback
כדי לקבוע איזו גרסה של הרינדור הוחזרה.
הקוד חייב לקרוא ל-MapsInitializer.initialize()
לפני שניתן יהיה ליצור MapView
, MapFragment
או אתSupportMapFragment
. מומלץ להפעיל את התכונה הזו ב-onCreate
ל-Application
של האפליקציה, או ל-Activity
, לפני שהתצוגה של התוכן מוגדרת.
הדוגמה הבאה ממחישה איך להפעיל את MapsInitializer.initialize()
כדי לבקש גרסת רינדור.
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.LATEST, 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; } } }
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.LATEST, 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.") } } }