RxJava è una libreria di programmazione reattiva per comporre programmi asincroni e basati su eventi. usando sequenze osservabili.
La libreria Maps Rx consente di ricevere sequenze osservabili per eventi asincroni su Maps SDK per Android e Places SDK per Android per poter sfruttare il ricco set di funzioni RxJava.
Installazione
Per installare la libreria Maps Rx nel tuo progetto Google Maps:
Aggiungi le seguenti dipendenze al file
build.gradle
a livello di modulo: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")
- Ricrea il progetto in Android Studio per sincronizzare queste modifiche.
Esempio di utilizzo
Ricevi una funzione osservabile per gli eventi di clic su un indicatore come funzione di estensione sull'oggetto GoogleMap:
googleMap.markerClickEvents() .subscribe { marker -> Log.d("MapsRx", "Marker ${marker.title} was clicked") }
L'esempio successivo mostra come utilizzare l'operatore RxJava, merge
, per combinare
Vari eventi della videocamera in un singolo stream osservabile:
Observable.merge( googleMap.cameraIdleEvents(), googleMap.cameraMoveEvents(), googleMap.cameraMoveCanceledEvents(), googleMap.cameraMoveStartedEvents() ).subscribe { // Notified when any camera event occurs }
Passaggi successivi
- Visualizza la libreria Maps Rx Pagina del progetto GitHub.
- Visualizza la documentazione di riferimento API della libreria Maps Rx.