يمكن أن تعرض "حزمة تطوير البرامج بالاستناد إلى بيانات خرائط 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)
جافا
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() غير متاح في الوضع البسيط. |
| الإيماءات | هل هي متوافقة؟ لا
لا يتيح "الوضع البسيط" استخدام الإيماءات. لن يكون لتفعيل الإيماءات وإيقافها أي تأثير. |
| التجوّل الافتراضي | هل هو متاح؟ لا
التجوّل الافتراضي غير متاح في الوضع البسيط. |