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

يتوفر عارض خرائط تمت ترقيته اعتبارًا من الإصدار 18.2.0 من حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" لتطبيقات Android ويقدم هذا العارض العديد من التحسينات، بما في ذلك دعم تصميم الخرائط المستند إلى السحابة الإلكترونية

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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