يتوفّر عارض الخريطة الذي تمت ترقيته اعتبارًا من الإصدار 18.0.0 من حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" للتطبيقات المتوافقة مع Android. يوفّر هذا العارض العديد من التحسينات، بما في ذلك إتاحة نمط الخرائط المستنِدة إلى السحابة الإلكترونية. يمكنك الموافقة على تجربة برنامج العرض الجديد قبل أن يصبح العارض التلقائي لأجهزة Android، وذلك من خلال عملية طرح تدريجية بدءًا من حزيران (يونيو) 2022.
يوفّر العارض الجديد المزايا التالية:
- تتوفّر ميزات تصميم الخرائط المستنِدة إلى السحابة الإلكترونية مع العارض الجديد.
- تتوفّر تخصيصات متقدّمة على شكل خطوط مع العارض الجديد.
- تقليل الحمل على الشبكة ومعالجة الطلب واستهلاك الذاكرة
- تم تحسين معالجة الإيماءات للحصول على صور متحركة أفضل، بالإضافة إلى عرض سلس وتكبير/تصغير أفضل.
- المزيد من الانتقالات السلسة وتصنيفات الخريطة التي تم تحديدها في موضع واضح
- تجربة مستخدم أكثر ثباتًا ومحسّنة
الأجهزة المتوافقة
لاستخدام العارض الجديد، يجب أن تستوفي الأجهزة المعايير التالية:
- إصدار Android 5.0 (المستوى 21 من واجهة برمجة التطبيقات) أو إصدارات أحدث
- مساحة تخزين للبيانات تبلغ 2 غيغابايت أو أكثر
- باستخدام الإصدار 21.39.14 من خدمات Google Play أو إصدارًا أحدث
إنّ الأجهزة التي تستخدم الإصدار 4.4 واط من نظام التشغيل Android (المستوى 20 لواجهة برمجة التطبيقات) والإصدارات الأقدم، أو التي تقل مساحة تخزينها عن 2 غيغابايت أو تستخدم الإصدار 21.39.13 من خدمات Google Play أو الإصدارات الأقدم، ستواصل استخدام العارض القديم.
كيفية تجربة العارض الجديد
لتفعيل العارض الجديد، اتّبِع الخطوات التالية:
- حدِّث تبعيات التطبيق لاستخدام
com.google.android.gms:play-services-maps:18.0.0
أو إصدار أحدث. - عدِّل الرمز للاستيراد بوضوح
MapsInitializer
، وMapsInitializer.Renderer
. - يُرجى تعديل الرمز للاتّصال
MapsInitializer.initialize()
لطلبRenderer.LATEST
. - استخدِم
OnMapsSdkInitializedCallback
لتحديد إصدار العارض الذي تم عرضه.
يجب أن يتواصل الرمز مع MapsInitializer.initialize()
قبل إنشاء أي MapView
MapFragment
أو
SupportMapFragment
. نقترح طلب ذلك في onCreate
لتنفيذ
Application
أو Activity
،
قبل ضبط عرض المحتوى.
يوضّح المثال التالي كيفية طلب MapsInitializer.initialize()
لطلب إصدار عارض.
لغة 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.LATEST, 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; } } }
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.LATEST, 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.") } } }