מעבד מפה חדש

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

למעבד הגרפי החדש יש את היתרונות הבאים:

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

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

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

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

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

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

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

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

ביטול ההסכמה לשימוש במעבד הגרפיקה המשודרג

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

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

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

בדוגמה הבאה מוסבר איך לבצע קריאה ל-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;
    }
  }
}