يتوفّر عارض خرائط تمت ترقيته اعتبارًا من الإصدار 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 (المستوى 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; } } }