يتوفر عارض خرائط تمت ترقيته اعتبارًا من الإصدار 18.2.0 من حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" لنظام التشغيل Android. وتوفّر أداة العرض هذه تحسينات عديدة، منها التوافق مع تصميم الخرائط المستنِدة إلى السحابة الإلكترونية.
يوفر العارض الجديد المزايا التالية:
- تتوفّر ميزات تصميم الخرائط المستنِدة إلى السحابة الإلكترونية مع العارض الجديد.
- تتوفّر عمليات تخصيص خطوط Polyline المتقدّمة مع العارض الجديد.
- تقليل الحمل على الشبكة ومعالجة الطلب واستهلاك الذاكرة
- معالجة محسَّنة بالإيماءات للحصول على رسوم متحركة أفضل، بالإضافة إلى العرض الشامل والتكبير التصغيري بسلاسة أكبر
- المزيد من الانتقالات السلسة وتسميات الخرائط الموضوعة بشكل واضح.
- تجربة مستخدم أكثر ثباتًا ومحسّنة.
جدول الطرح
في تشرين الأول (أكتوبر) 2021، بدأت Google في طرح عارض الخرائط الذي تمت ترقيته. وكان بإمكانك عندئذٍ أن تقرر بدء استخدام العارض الذي تمت ترقيته في تطبيقك.
مع إطلاق الإصدار 18.2.0 من SDK لخرائط Google لنظام التشغيل Android، نقلت Google العارض التلقائي من العارض القديم إلى عارض الخرائط الذي تمت ترقيته. مع الإصدار 18.2.0، سيصبح عارض الخرائط الذي تم استخدامه عند إنشاء تطبيق جديد أو إعادة إنشاء تطبيق حالي هو عارض الخرائط الذي تمت ترقيته.
ماذا يحدث عندما يتغير العارض التلقائي؟
يصبح العارض التلقائي العارض الذي تمت ترقيته مع إطلاق الإصدار 18.2.0 من حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" لنظام التشغيل Android. للاستفادة من العارض الذي تمت ترقيته، يجب إنشاء أي تطبيقات جديدة، أو إعادة إنشاء أي تطبيقات حالية، باستخدام الإصدار الجديد من SDK.
ومع ذلك، يمكنك اختيار عدم تطبيق التغيير. في حال إيقاف هذه الميزة، سيستمر تطبيقك في استخدام العارض القديم. يمكنك الاطّلاع على إيقاف استخدام العارض الذي تمت ترقيته للاطّلاع على أمثلة رموز حول طريقة الإيقاف.
الأجهزة المتوافقة
لاستخدام عارض الخرائط الذي تمت ترقيته، يجب أن تستوفي الأجهزة المعايير التالية:
- Android 5.0 (مستوى واجهة برمجة التطبيقات 21) أو إصدار أحدث
- مساحة تخزين بيانات تبلغ 2 غيغابايت أو أكثر
- استخدام "خدمات Google Play" الإصدار 21.39.14 أو الإصدارات الأحدث
تواصل الأجهزة التي تستخدم الإصدار 21.39.13 أو الإصدارات الأقدم من نظام التشغيل Android 4.4W (مستوى واجهة برمجة التطبيقات 20) والإصدارات الأقدم، أو التي تقل مساحة تخزين البيانات فيها عن 2 غيغابايت، أو التي تستخدم الإصدار 21.39.13 من خدمات Google Play أو إصدارات أقدم، حتى بعد تغيير العارض التلقائي إلى عارض الخرائط الذي تمت ترقيته.
إيقاف استخدام العارض الذي تمت ترقيته
بشكل تلقائي، تستخدم التطبيقات التي تم إنشاؤها باستخدام الإصدار 18.2.0 من حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" لنظام التشغيل Android العارض الذي تمت ترقيته. وإذا لزم الأمر، يمكنك صراحةً إيقاف استخدام العارض الذي تمت ترقيته لاستخدام العارض القديم في تطبيقك.
لإيقاف الميزة:
يجب تعديل الرمز البرمجي لاستيراد 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; } } }