מעבד מפה חדש

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

היתרונות של רכיב ה-Renderer החדש:

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

סטטוס העדכון האוטומטי

במרץ 2024, Google התחילה לעדכן אוטומטית את כל האפליקציות שנפרסו כדי להשתמש במעבד הגרפי המשודרג. העדכונים האוטומטיים הוחלו על כל האפליקציות שפועלות במכשירים שעומדים בדרישות המינימליות למכשיר, ללא קשר לגרסה של Maps SDK for Android שבה נעשה שימוש באפליקציה. ההשקה הזו הושלמה.

העדכונים האוטומטיים לא חלים על:

  • אפליקציות שכבר עודכנו לשימוש במעבד הגרפי המשודרג.

  • אפליקציות שהוחרגו במפורש מהשדרוג.

  • אפליקציות שפועלות במכשירים שלא עומדים בדרישות המינימום למכשיר.

מכשירים נתמכים

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

  • ‫Android מגרסה 5.0 (רמת API‏ 21) ואילך
  • שימוש בגרסה 21.39.14 ואילך של Google Play Services

מכשירים עם Android 4.4W‏ (API ברמה 20) ומטה או עם שירותי Google Play בגרסה 21.39.13 ומטה ממשיכים להשתמש במעבד הגרפי הקודם.

ביטול ההסכמה לשימוש במעבד התצוגה המשודרג

במקרה הצורך, אפשר להשבית את השימוש במעבד הגרפי המשודרג ולהשתמש במעבד הגרפי מהדור הקודם באפליקציה.

כדי לבטל את ההסכמה:

הקוד צריך לקרוא ל-MapsInitializer.initialize() לפני שנוצר MapView,‏ MapFragment או SupportMapFragment. מומלץ להפעיל את הפונקציה הזו ב-onCreate עבור Application או Activity של האפליקציה, לפני שמגדירים את תצוגת התוכן שלה.

בדוגמה הבאה מוצג אופן השימוש בפקודה 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;
    }
  }
}