الوضع البسيط

يمكن أن تعرض حزمة تطوير البرامج (SDK) في "خرائط Google" لأجهزة Android صورة مصغّرة للخريطة، ما يوفّر للمستخدم تفاعلاً محدودًا. تُسمّى هذه الخريطة الوضع البسيط.

عيّنات تعليمات برمجية

يتضمن مستودع ApiDemos على GitHub عيّنات تعرض استخدام الوضع البسيط:

نظرة عامة على الوضع البسيط

خريطة الوضع البسيط هي صورة نقطية لخريطة في موقع محدّد ومستوى التكبير/التصغير. يتوافق الوضع البسيط مع جميع أنواع الخرائط (العادية والمختلطة والقمر الصناعي والتضاريس) ومجموعة فرعية من الوظائف التي توفّرها واجهة برمجة التطبيقات الكاملة. يكون الوضع البسيط مفيدًا عندما تريد توفير عدد من الخرائط في ساحة مشاركات، أو خريطة صغيرة جدًا تسمح بالتفاعل الهادف.

لا يمكن للمستخدمين الذين يشاهدون الخريطة تكبير الخريطة أو عرضها بشكل شامل. تمنح الرموز المتوفرة على الخريطة المستخدمين إمكانية الوصول إلى الخريطة في تطبيق "خرائط 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.
أنماط الخريطة الأساسية المخصّصة
هل تتوفّر هذه الميزة؟ جزئيًا
تتوافق حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" للتطبيقات المتوافقة مع Android مع التصميم المخصّص للخريطة الأساسية. لا يتوافق "الوضع البسيط" إلا مع النمط المخصَّص المستنِد إلى JSON، وليس الأنماط المستندة إلى السحابة الإلكترونية التي تتطلّب رقم تعريف خريطة لعرض خريطة بتصميم معيّن.
Markers
هل تتوفّر هذه الميزة؟ جزئيًا
يمكنك إضافة علامة والرد على حدث ناتج عن النقر. يمكنك أيضًا إضافة رموز علامات مخصّصة. لا يمكن جعل محدِّد قابلاً للسحب. محدّدات الموقع على الخريطة في الوضع البسيط مسطحة، ولا يمكن تدويرها.
موضع الكاميرا والتكبير/التصغير والصور المتحركة
هل تتوفّر هذه الميزة؟ جزئيًا

يمكنك ضبط هدف الكاميرا والتكبير/التصغير، ولكن ليس ضبط الإمالة أو الحامل. يتم تقريب مستوى التكبير أو التصغير إلى أقرب عدد صحيح في الوضع البسيط. يؤدي طلب GoogleMap.moveCamera() إلى منحك صورة أخرى للخريطة في الوضع البسيط. لمزيد من المعلومات حول إعداد الكاميرا ومعالجتها، يُرجى الاطّلاع على تغيير طريقة العرض.

لن يؤدي طلب GoogleMap.animateCamera() إلى الصور المتحركة إلى حركة الكاميرا. وسيتم نقل عرض الكاميرا على الفور إلى الموضع الجديد.

ربط الأحداث
هل تتوفّر هذه الميزة؟ جزئيًا

يتوافق الوضع البسيط مع GoogleMap.setOnMapClickListener() وGoogleMap.setOnMapLongClickListener().

لإيقاف أحداث النقر على خريطة في الوضع البسيط، يمكنك طلب setClickable() على طريقة العرض التي تحتوي على MapView أو MapFragment. ويكون ذلك مفيدًا، على سبيل المثال، عند عرض خريطة أو خرائط في عرض القائمة، حيث تريد أن يستدعي حدث النقر إجراءً غير مرتبط بالخريطة.

لمعرفة التفاصيل، يمكنك الاطّلاع على مستندات الفعاليات.

الخرائط والمباني الداخلية
هل تتوفّر هذه الميزة؟ غير متوافق
سيعرض الوضع البسيط الشاشات نفسها التي تستخدمها Maps Static API. هذا يعني أنه في حال تم دمج مخطط المبنى الداخلي في المربّع التلقائي، سيظهر. وبخلاف ذلك، لن تتم إضافته. بالإضافة إلى ذلك، لا يمكنك تغيير المستوى المعروض أو التلاعب بأداة اختيار المستويات.
طبقة حركة المرور
هل تتوفّر هذه الميزة؟ غير متوافق
اللغة GoogleMap.setTrafficEnabled() غير متوافقة مع الوضع البسيط.
تركيبات أرضية
هل تتوفّر هذه الميزة؟ غير متوافق
اللغة GoogleMap.addGroundOverlay() غير متوافقة مع الوضع البسيط.
تراكبات الصور
هل تتوفّر هذه الميزة؟ غير متوافق
اللغة GoogleMap.addTileOverlay() غير متوافقة مع الوضع البسيط.
الإيماءات
هل تتوفّر هذه الميزة؟ غير متوافق
لا يتوافق الوضع البسيط مع الإيماءات. لن يؤثر تفعيل الإيماءات وإيقافها.
التجوّل الافتراضي
هل تتوفّر هذه الميزة؟ غير متوافق
لا تتوفر ميزة التجوّل الافتراضي في الوضع البسيط.