تُعد RxJava مكتبة برمجة تفاعلية لإنشاء برامج غير متزامنة وقائمة على الأحداث من خلال باستخدام تسلسلات قابلة للملاحظة.
مكتبة Rx للخرائط تتيح لك تلقّي تسلسلات قابلة للملاحظة للأحداث غير المتزامنة على حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" لنظام التشغيل Android و Places SDK لنظام التشغيل Android حتى تتمكن من الاستفادة من مجموعة ميزات RxJava الغنية.
تثبيت
لتثبيت مكتبة Rx في "خرائط Google" في مشروعك على "خرائط Google":
أضِف التبعيات التالية إلى ملف
build.gradle
على مستوى الوحدة:dependencies { // RxJava bindings for the Maps SDK implementation("com.google.maps.android:maps-rx:1.0.0") // RxJava bindings for the Places SDK implementation("com.google.maps.android:places-rx:1.0.0") // 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:19.0.0") implementation("com.google.android.libraries.places:places:3.5.0") implementation("io.reactivex.rxjava3:rxjava:3.1.8")
- أعِد إنشاء مشروعك في "استوديو Android" لمزامنة هذه التغييرات.
مثال على الاستخدام
تلقّي عنصر قابل للملاحظة لأحداث النقر على العلامة كوظيفة إضافة على كائن GoogleMap:
googleMap.markerClickEvents() .subscribe { marker -> Log.d("MapsRx", "Marker ${marker.title} was clicked") }
يوضح المثال التالي كيف يمكنك استخدام عامل تشغيل RxJava، merge
، لدمج
أحداث مختلفة للكاميرا في بث واحد يمكن ملاحظته:
Observable.merge( googleMap.cameraIdleEvents(), googleMap.cameraMoveEvents(), googleMap.cameraMoveCanceledEvents(), googleMap.cameraMoveStartedEvents() ).subscribe { // Notified when any camera event occurs }
الخطوات التالية
- عرض مكتبة Rx للخرائط صفحة مشروع GitHub.
- اطّلِع على مرجع واجهة برمجة التطبيقات لمكتبة Rx في "خرائط Google".