عارض خرائط جديد

يتوفر عارض خرائط تمت ترقيته اعتبارًا من الإصدار 18.2.0 من حزمة SDK للخرائط لنظام التشغيل Android. يتضمّن جهاز العرض هذا العديد من التحسينات، من ضمنها التوافق مع تصميم الخرائط المستنِدة إلى السحابة الإلكترونية.

يوفّر العارض الجديد المزايا التالية:

الجدول الزمني لطرح

في آذار (مارس) 2024، بدأت Google بتحديث جميع التطبيقات المنشورة تلقائيًا على الجهاز لاستخدام العارض الذي تمت ترقيته. وستبدأ التحديثات التلقائية بشكل متزايد خلال الأشهر القادمة استنادًا إلى الجهاز، ما يعني أنّه سيتم تحديث أجهزة المستخدمين في أوقات مختلفة خلال فترة التحديث.

تسري التحديثات التلقائية على جميع التطبيقات التي تعمل على الأجهزة التي تستوفي الحدّ الأدنى من متطلبات الجهاز، بغض النظر عن إصدار حزمة تطوير البرامج (SDK) لتطبيق "خرائط Google" لنظام التشغيل Android الذي يستخدمه التطبيق.

لا تسري التحديثات التلقائية على ما يلي:

ماذا يحدث عند تغيير العارض التلقائي؟

وأصبح العارض التلقائي هو العارض الذي تمت ترقيته مع إصدار الإصدار 18.2.0 من حزمة تطوير البرامج (SDK) لتطبيق "خرائط Google" لنظام التشغيل Android. وللاستفادة من العارض الذي تمت ترقيته، يمكنك إما إنشاء تطبيقاتك الجديدة أو إعادة إنشاء أي تطبيقات حالية باستخدام الإصدار الجديد من حزمة تطوير البرامج (SDK). أو يمكنك الانتظار حتى يتم تحديث تطبيقك المنشور تلقائيًا من خلال Google.

وبعد التحديث، سيتمكّن تطبيقك من الاستفادة من جميع الميزات والفوائد الجديدة المتوفّرة في العارض الذي تمت ترقيته.

ومع ذلك، إذا قررت إيقاف التغيير، سيواصل تطبيقك استخدام العارض القديم. يمكنك الاطّلاع على إيقاف استخدام العارض الذي تمت ترقيته للحصول على مثال عن رمز حول كيفية الإيقاف.

الأجهزة المتوافقة

ينطبق التحديث التلقائي على جميع الأجهزة التي تستوفي هذه المعايير، بغض النظر عن إصدار حزمة SDK لخرائط Google لنظام التشغيل Android الذي يستخدمه التطبيق:

  • Android 5.0 (المستوى 21 من واجهة برمجة التطبيقات) أو إصدار أحدث
  • إذا كنت تستخدم الإصدار 21.39.14 من "خدمات Google Play" أو إصدارًا أحدث

إنّ الأجهزة التي تعمل بالإصدار 4.4W من نظام التشغيل Android (المستوى 20 لواجهة برمجة التطبيقات) والإصدارات الأقدم أو التي تستخدم الإصدار 21.39.13 من خدمات Google Play أو الإصدارات الأقدم تواصل استخدام العارض القديم.

إيقاف استخدام العارض الذي تمت ترقيته

وإذا لزم الأمر، يمكنك صراحةً إيقاف استخدام العارض الذي تمت ترقيته لاستخدام العارض القديم في تطبيقك.

لإيقاف الميزة:

  • ترقية حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط 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;
    }
  }
}