يمكن أن تعرض حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" لتطبيقات Android صورة نقطية لخريطة، ما يوفّر للمستخدم تفاعلاً محدودًا. يُطلق على هذا النوع من الخرائط اسم خريطة الوضع الخفيف.
عيّنات تعليمات برمجية
يتضمّن مستودع ApiDemos على GitHub عيّنات توضّح كيفية استخدام الوضع الخفيف:
- LiteDemoActivity - Java: أساسيات استخدام خريطة في الوضع البسيط في Java
- LiteDemoActivity - Kotlin: أساسيات استخدام خريطة في "الوضع البسيط" بلغة Kotlin
- LiteListDemoActivity - Java: عرض الخرائط بكفاءة في ListViews باستخدام الوضع البسيط في Java
- LiteListDemoActivity - Kotlin: عرض الخرائط بكفاءة في ListViews باستخدام الوضع البسيط في Kotlin
نظرة عامة على "الوضع البسيط"
خريطة الوضع الخفيف هي صورة نقطية لخريطة في موقع جغرافي ومستوى تكبير/تصغير محدّدين. يتوافق "الوضع البسيط" مع جميع أنواع الخرائط (العادية والمختلطة والفضائية والتضاريس) ومجموعة فرعية من الوظائف التي توفّرها واجهة برمجة التطبيقات الكاملة. يكون "الوضع الخفيف" مفيدًا عندما تريد توفير عدد من الخرائط في بث، أو خريطة صغيرة جدًا لا تتيح تفاعلاً مفيدًا.
لا يمكن للمستخدمين الذين يعرضون الخريطة تكبيرها أو تصغيرها أو تحريكها. تتيح الرموز على الخريطة للمستخدمين الاطّلاع على الخريطة في تطبيق "خرائط Google" للأجهزة الجوّالة وطلب الاتجاهات.
إضافة خريطة في الوضع البسيط
يستخدم "الوضع البسيط" الفئات والواجهات نفسها التي يستخدمها الإصدار الكامل من Google Maps Android API. يمكنك ضبط GoogleMap
على الوضع الخفيف بالطرق التالية:
- إما كسمة XML لـ
MapView
أوMapFragment
- أو في العنصر
GoogleMapOptions
كسمة XML لـ MapView
أو MapFragment
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:name="com.google.android.gms.maps.MapFragment"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
map:cameraZoom="13"
map:mapType="normal"
map:liteMode="true"/>
في العنصر GoogleMapOptions
Kotlin
val options = GoogleMapOptions() .liteMode(true)
Java
GoogleMapOptions options = new GoogleMapOptions() .liteMode(true);
للحصول على تفاصيل حول ضبط الحالة الأولية للخريطة، يُرجى الاطّلاع على دليل عنصر الخريطة.
أغراض إطلاق عرض خريطة أو طلب اتجاهات
يتضمّن شريط الأدوات تلقائيًا في أسفل يسار الخريطة رموزًا تتيح الوصول إلى عرض الخريطة أو طلب الاتجاهات في تطبيق "خرائط Google" للأجهزة الجوّالة. ويمكنك إيقاف شريط الأدوات عن طريق استدعاء UiSettings.setMapToolbarEnabled(false)
. لمزيد من التفاصيل، راجِع مستندات شريط الأدوات.
أيضًا، عندما ينقر المستخدم على الخريطة، تبدأ واجهة برمجة التطبيقات تلقائيًا تطبيق "خرائط Google" للأجهزة الجوّالة. ويمكنك إلغاء هذا الإجراء باستخدام GoogleMap.setOnMapClickListener()
لضبط أداة معالجة الأحداث الخاصة بك. يمكنك أيضًا إيقاف أحداث النقر على الخريطة من خلال استدعاء
setClickable()
في العرض الذي يحتوي على MapView
أو MapFragment
. للاطّلاع على تفاصيل هاتين الطريقتين، راجِع مستندات الأحداث.
أحداث مراحل النشاط
عند استخدام واجهة برمجة التطبيقات في وضع التفاعل الكامل، على مستخدمي الفئة MapView
إعادة توجيه جميع طرق دورة حياة النشاط إلى الطرق المقابلة في الفئة MapView
. تشمل أمثلة طرق دورة الحياة onCreate()
وonDestroy()
وonResume()
وonPause()
.
عند استخدام الفئة MapView
في الوضع الخفيف، يكون توجيه أحداث مراحل النشاط اختياريًا، باستثناء الحالات التالية:
- يجب طلب
onCreate()
، وإلا لن تظهر أي خريطة. - إذا أردت عرض نقطة "موقعي الجغرافي" على خريطة الوضع الخفيف واستخدام مصدر الموقع الجغرافي التلقائي، عليك استدعاء
onResume()
وonPause()
، لأنّ مصدر الموقع الجغرافي لن يتم تعديله إلا بين هذين الاستدعاءَين. إذا كنت تستخدم مصدر الموقع الجغرافي الخاص بك، ليس من الضروري استدعاء هاتين الطريقتين.
ميزات واجهة برمجة التطبيقات المتوافقة
يوضّح الجدول التالي سلوك خريطة الوضع الخفيف لكل منطقة من وظائف واجهة برمجة التطبيقات. إذا استدعى تطبيق طريقة غير متاحة في الوضع الخفيف، ستسجّل واجهة برمجة التطبيقات رسالة تحذير.
الوظائف | |
---|---|
أنواع الخرائط | هل هي متاحة؟ نعم
تتوفّر أنواع الخرائط التالية من خلال GoogleMapOptions.mapType() وGoogleMap.setMapType() : MAP_TYPE_NORMAL وMAP_TYPE_SATELLITE وMAP_TYPE_TERRAIN وMAP_TYPE_HYBRID وMAP_TYPE_NONE |
الخطوط المتعددة والمضلّعات والدوائر | هل هي متاحة؟ نعم
تتطابق وظيفة الوضع المخفّف
للأشكال مع
واجهة برمجة التطبيقات الكاملة. |
الإسقاط | هل هي متاحة؟ نعم
تتطابق وظيفة الوضع المخفّف في
العرض
مع واجهة برمجة التطبيقات الكاملة. |
موقعي الجغرافي | هل هي متاحة؟ نعم
تتطابق وظيفة الوضع الخفيف في
طبقة "موقعي الجغرافي"
مع واجهة برمجة التطبيقات الكاملة. |
تحجيم الخريطة | هل هي متاحة؟ نعم
يتوافق دعم الوضع البسيط
لحشو الخريطة
مع واجهة برمجة التطبيقات الكاملة. |
نوافذ المعلومات | هل هي متاحة؟ نعم
إذا ضبطت title() لعلامة، ستظهر نافذة المعلومات التلقائية عندما ينقر المستخدم على العلامة. يمكنك عرض نافذة المعلومات آليًا من خلال استدعاء showInfoWindow() على العلامة.
يمكنك أيضًا إنشاء نوافذ معلومات مخصّصة من خلال واجهة InfoWindowAdapter . |
أنماط الخريطة الأساسية المخصّصة | هل هي متاحة؟ جزئيًا
تتيح حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" لنظام التشغيل Android
تنسيقًا مخصّصًا
للخريطة الأساسية. لا يتيح "الوضع الخفيف" سوى التصميم المخصّص المستند إلى JSON، وليس التصميم المستند إلى السحابة الإلكترونية الذي يتطلّب معرّف خريطة لعرض خريطة مصمّمة.
لا يتيح الوضع البسيط أيضًا ضبط
نظام ألوان الخريطة
لاستخدام الوضع الداكن.
|
العلامات | هل هي متاحة؟ جزئيًا
يمكنك إضافة علامة
والردّ على حدث النقر. يمكنك أيضًا إضافة رموز مخصّصة للعلامات. لا يمكن جعل العلامة قابلة للسحب. تكون العلامات على الخريطة في الوضع البسيط مسطّحة، ولا يمكن تدويرها. |
موضع الكاميرا ومستوى التكبير أو التصغير والصورة المتحركة | هل هي متاحة؟ جزئيًا
يمكنك ضبط هدف الكاميرا والتكبير، ولكن ليس الإمالة أو الاتجاه.
يتم تقريب مستوى التكبير أو التصغير إلى أقرب عدد صحيح في الوضع الخفيف.
سيؤدي الاتصال بـ لن يؤدي الاتصال بـ |
ربط الأحداث | هل هي متاحة؟ جزئيًا
يتوافق "الوضع البسيط" مع
لإيقاف أحداث النقر على خريطة في الوضع الخفيف، يمكنك استدعاء
للحصول على التفاصيل، راجِع مستندات الأحداث. |
الخرائط الداخلية والمباني | هل هي متاحة؟ لا
سيعرض "الوضع البسيط" المربّعات نفسها التي تعرضها Maps Static API.
وهذا يعني أنّه إذا كانت خريطة الطابق الداخلي مضمّنة في المربّع التلقائي، ستظهر. وفي حال عدم توفّرها، لن يتم عرضها. بالإضافة إلى ذلك، لا يمكنك تغيير المستوى المعروض أو التلاعب بأداة اختيار المستوى. |
طبقة حركة المرور | هل هي متاحة؟ لا
لا تتوفّر ميزة GoogleMap.setTrafficEnabled() في الوضع البسيط. |
تراكبات الأرض | هل هي متاحة؟ لا
لا تتوافق GoogleMap.addGroundOverlay() مع الوضع الخفيف. |
تراكب مربّعات | هل هي متاحة؟ لا
لا تتوافق GoogleMap.addTileOverlay() مع الوضع الخفيف. |
الإيماءات | هل هي متاحة؟ لا
لا يتيح "الوضع البسيط" استخدام الإيماءات. لن يكون لتفعيل الإيماءات وإيقافها أي تأثير. |
التجوّل الافتراضي | هل هي متاحة؟ لا
لا تتوافق ميزة التجوّل الافتراضي مع الوضع البسيط. |