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

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

يقدّم أداة التقديم الجديدة المزايا التالية:

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

في آذار (مارس) 2024، بدأت Google في تحديث جميع التطبيقات المنشورة تلقائيًا لاستخدام محرِّر الصور المُعدَّل. تم تطبيق التحديثات التلقائية على جميع التطبيقات التي تعمل على الأجهزة التي تستوفي الحد الأدنى لمتطلبات الجهاز، بغض النظر عن إصدار حزمة تطوير البرامج (SDK) لتطبيق "خرائط Google" لنظام التشغيل 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;
    }
  }
}