מעבד מפה חדש

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

הכלי החדש לרינדור מספק את היתרונות הבאים:

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

לוח הזמנים להשקה

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

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

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

מה קורה כשכלי הרינדור שמוגדר כברירת מחדל משתנה?

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

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

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

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

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

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

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

ביטול ההסכמה לשימוש בכלי לרינדור המשודרג

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

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

  • שדרוג ה-SDK של מפות Google ל-Android לגרסה 18.0 ואילך.

  • מעדכנים את הקוד כדי לייבא באופן מפורש את MapsInitializer ו-MapsInitializer.Renderer.

  • מעדכנים את הקוד כדי לקרוא ל-MapsInitializer.initialize(), ומעבירים את Renderer.LEGACY כדי לבטל את ההצטרפות ולהשתמש בכלי לרינדור מדור קודם.

  • להשתמש ב-OnMapsSdkInitializedCallback לקבוע איזו גרסה של כלי הרינדור הוחזרה.

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