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

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

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

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

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

لم تنطبق التحديثات التلقائية على ما يلي:

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

لاستخدام أداة عرض الخرائط المحسّنة، يجب أن تستوفي الأجهزة المعايير التالية:

  • الإصدار 5.0 من نظام التشغيل Android (المستوى 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 Application أو Activity في تطبيقك قبل ضبط طريقة عرض المحتوى.

يوضّح المثال التالي كيفية استدعاء 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;
    }
  }
}