يمكن لحزمة تطوير البرامج (SDK) للخرائط في نظام التشغيل Android عرض صورة نقطية لخريطة، مما يوفر تفاعلاً محدودًا للمستخدم. وتُعرف هذه الخريطة باسم الوضع البسيط.
عيّنات تعليمات برمجية
يتضمن مستودع ApiDemos على GitHub نماذج توضح استخدام الوضع البسيط:
- LiteDemoActivity - جافا: أساسيات استخدام خريطة الوضع البسيط في جافا
- LiteDemoActivity - Kotlin: أساسيات استخدام خريطة الوضع البسيط في Kotlin
- LiteListDemoActivity - جافا: يتم عرض الخرائط بكفاءة في تطبيق ListViews باستخدام الوضع البسيط في جافا
- LiteListDemoActivity - Kotlin: عرض الخرائط بكفاءة في ListViews باستخدام الوضع البسيط في Kotlin
نظرة عامة على الوضع البسيط
خريطة الوضع البسيط هي صورة نقطية لخريطة في موقع محدد ومستوى تكبير/تصغير محدد. يتوافق الوضع البسيط مع جميع أنواع الخرائط (العادية والمختلطة والقمر الصناعي والتضاريس) ومجموعة فرعية من الوظائف التي تقدمها واجهة برمجة التطبيقات الكاملة. يكون الوضع البسيط مفيدًا عندما تريد توفير عدد من الخرائط في ساحة مشاركات، أو خريطة صغيرة جدًا بحيث تتيح التفاعل الهادف.
لا يمكن للمستخدمين الذين يشاهدون الخريطة تكبير الخريطة أو تحريكها. تمنح الرموز على الخريطة المستخدمين إمكانية الدخول إلى الخريطة لعرض تطبيق خرائط Google للجوّال وطلب الاتجاهات.
إضافة خريطة الوضع البسيط
يستخدم الوضع البسيط الفئات والواجهات نفسها المستخدمة في الإصدار الكامل من
واجهة برمجة تطبيقات Android لخرائط Google. يمكنك ضبط 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
لغة Java
GoogleMapOptions options = new GoogleMapOptions() .liteMode(true);
Kotlin
val options = 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 . |
أنماط الخريطة الأساسية المخصّصة | هل تتوفّر هذه الميزة؟ جزئيًا
تتوافق حزمة تطوير البرامج (SDK) لتطبيق "خرائط Google" لأجهزة Android مع التصميم المخصّص للخريطة الأساسية. لا يتوافق الوضع البسيط إلا مع النمط المخصّص المستند إلى JSON، وليس النمط المستند إلى السحابة الإلكترونية والذي يتطلّب رقم تعريف خريطة لعرض خريطة ذات نمط. |
Markers | هل تتوفّر هذه الميزة؟ جزئيًا
يمكنك إضافة علامة والرد على حدث النقر. يمكنك أيضًا إضافة رموز
علامات مخصصة. لا يمكن جعل علامة قابلة للسحب. محدّدات المواقع على خريطة الوضع البسيط مسطحة، ولا يمكن تدويرها. |
موضع الكاميرا والتكبير/التصغير والرسوم المتحركة | هل تتوفّر هذه الميزة؟ جزئيًا
يمكنك تعيين هدف الكاميرا وتكبيرها/تصغيرها، ولكن لا يمكنك ضبط الإمالة أو الحامل.
يتم تقريب مستوى التكبير/التصغير إلى أقرب عدد صحيح في الوضع البسيط.
سيؤدي الاتصال بـ لن يؤدّي الاتصال بـ |
ربط الأحداث | هل تتوفّر هذه الميزة؟ جزئيًا
يتيح الوضع البسيط
لإيقاف أحداث النقر على خريطة في الوضع البسيط، يمكنك استدعاء
لمعرفة التفاصيل، يُرجى الاطّلاع على مستندات الفعاليات. |
خرائط ومبانٍ داخلية | هل تتوفّر هذه الميزة؟ لا
سيعرض الوضع البسيط مربعات المعلومات نفسها مثل واجهة برمجة تطبيقات الخرائط الثابتة.
وهذا يعني أنه إذا تم دمج مخطط الطابق الداخلي في المربع الافتراضي،
فسيظهر. وإلا لن يتم ذلك. بالإضافة إلى ذلك، لا يمكنك تغيير المستوى
المعروض في أداة اختيار المستوى أو التلاعب بها. |
طبقة حركة المرور | هل تتوفّر هذه الميزة؟ لا
GoogleMap.setTrafficEnabled() غير متاح في الوضع البسيط. |
تراكبات الأرض | هل تتوفّر هذه الميزة؟ لا
GoogleMap.addGroundOverlay() غير متاح في الوضع البسيط. |
تراكبات المربعات | هل تتوفّر هذه الميزة؟ لا
GoogleMap.addTileOverlay() غير متاح في الوضع البسيط. |
الإيماءات | هل تتوفّر هذه الميزة؟ لا
لا يتوافق الوضع البسيط مع الإيماءات. لن يكون لتفعيل الإيماءات وإيقافها أي تأثير. |
التجوّل الافتراضي | هل تتوفّر هذه الميزة؟ لا
التجوّل الافتراضي
غير متاح في الوضع البسيط. |