RxJava adalah library pemrograman reaktif untuk menulis program asinkron dan berbasis peristiwa menggunakan urutan yang dapat diamati.
Library Maps Rx memungkinkan Anda menerima observable sequence untuk peristiwa asinkron di Maps SDK for Android dan Places SDK for Android agar dapat memanfaatkan beragam fitur RxJava.
Penginstalan
Untuk menginstal library Maps Rx di project Google Maps Anda:
Tambahkan dependensi berikut ke file
build.gradle
tingkat modul: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'
- Build ulang project Anda di Android Studio untuk menyinkronkan perubahan ini.
Contoh Penggunaan
Menerima Observable untuk peristiwa klik penanda sebagai fungsi ekstensi di objek GoogleMap:
googleMap.markerClickEvents() .subscribe { marker -> Log.d("MapsRx", "Marker ${marker.title} was clicked") }
Contoh berikutnya menunjukkan cara menggunakan operator RxJava, merge
, untuk menggabungkan berbagai peristiwa kamera ke dalam satu aliran data Observable:
Observable.merge( googleMap.cameraIdleEvents(), googleMap.cameraMoveEvents(), googleMap.cameraMoveCanceledEvents(), googleMap.cameraMoveStartedEvents() ).subscribe { // Notified when any camera event occurs }
Langkah berikutnya
- Lihat halaman project GitHub library Maps Rx.
- Lihat referensi API library Maps Rx.