مكتبة RxJava

‫RxJava هي مكتبة برمجة تفاعلية لإنشاء برامج غير متزامنة ومستندة إلى الأحداث باستخدام تسلسلات قابلة للتتبّع.

تتيح لك مكتبة Maps Rx تلقّي تسلسلات قابلة للتتبّع للأحداث غير المتزامنة على "حزمة تطوير البرامج بالاستناد إلى بيانات خرائط Google للتطبيقات المتوافقة مع Android" و"حزمة تطوير برامج الأماكن لأجهزة Android"، ما يتيح لك الاستفادة من المجموعة الغنية من ميزات RxJava.

تثبيت

لتثبيت مكتبة Maps Rx في مشروعك على "خرائط Google"، اتّبِع الخطوات التالية:

  1. أضِف التبعيات التالية إلى ملف build.gradle على مستوى الوحدة:

        dependencies {
        // RxJava bindings for the Maps SDK
        implementation(libs.maps.rx)
    
        // RxJava bindings for the Places SDK
        implementation(libs.places.rx)
    
        // It is recommended to also include the latest Maps SDK, Places SDK and RxJava so you
        // have the latest features and bug fixes.
        implementation("com.google.android.gms:play-services-maps:20.0.0")
        implementation("com.google.android.libraries.places:places:5.3.0")
        implementation("io.reactivex.rxjava3:rxjava:3.1.12")

  2. أعِد إنشاء مشروعك في "استوديو Android" لمزامنة هذه التغييرات.

مثال على الاستخدام

يمكنك تلقّي Observable للأحداث الناتجة عن النقر على العلامات كدالة امتداد في عنصر GoogleMap:

googleMap.markerClickEvents()
    .subscribe { marker ->
        Log.d("MapsRx", "Marker ${marker.title} was clicked")
    }

استخدِم عامل تشغيل RxJava merge لدمج أحداث الكاميرا المختلفة في بث Observable واحد:

Observable.merge(
    googleMap.cameraIdleEvents(),
    googleMap.cameraMoveEvents(),
    googleMap.cameraMoveCanceledEvents(),
    googleMap.cameraMoveStartedEvents(),
).subscribe {
    // Notified when any camera event occurs
}

الخطوات التالية