RxJava est une bibliothèque de programmation réactive qui permet de rédiger des programmes asynchrones et basés sur des événements à l'aide de séquences observables.
La bibliothèque Maps Rx vous permet de recevoir des séquences observables pour les événements asynchrones dans le SDK Maps pour Android et dans le SDK Places pour Android. Vous pouvez ainsi bénéficier de l'ensemble complet des fonctionnalités RxJava.
Installation
Pour installer la bibliothèque Maps Rx dans votre projet Google Maps :
Ajoutez les dépendances suivantes à votre fichier
build.gradle
au niveau du module :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'
- Recréez votre projet dans Android Studio pour synchroniser ces modifications.
Exemple d'utilisation
Recevez un événement observable pour les événements de clic sur un repère en tant que fonction d'extension sur l'objet GoogleMap :
googleMap.markerClickEvents() .subscribe { marker -> Log.d("MapsRx", "Marker ${marker.title} was clicked") }
L'exemple suivant montre comment utiliser l'opérateur RxJava merge
pour combiner plusieurs événements de caméra dans un seul flux observable :
Observable.merge( googleMap.cameraIdleEvents(), googleMap.cameraMoveEvents(), googleMap.cameraMoveCanceledEvents(), googleMap.cameraMoveStartedEvents() ).subscribe { // Notified when any camera event occurs }
Étapes suivantes
- Consultez la page de projet GitHub consacrée à la bibliothèque Maps Rx.
- Consultez la documentation de référence de l'API concernant la bibliothèque Maps Rx.