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

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

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

حالة التحديث التلقائي

في مارس 2024، بدأت 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;
    }
  }
}