RxJava to biblioteka programowania reaktywna do tworzenia programów asynchronicznych i opartych na zdarzeniach przez za pomocą obserwowalnych sekwencji.
biblioteki Maps Rx, umożliwia otrzymywanie możliwych do obserwowania sekwencji zdarzeń asynchronicznych w pakiecie SDK Maps na Androida i Places SDK dla Androida, aby można było korzystać z bogactwa funkcji RxJava.
Instalacja
Aby zainstalować bibliotekę Maps Rx w projekcie Map Google:
Dodaj do pliku
build.gradle
na poziomie modułu te zależności: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")
- Aby zsynchronizować zmiany, odbuduj projekt w Android Studio.
Przykład użycia
Otrzymuj jako funkcję rozszerzenia Observable dla zdarzeń kliknięcia znacznika jako funkcję rozszerzenia obiektu GoogleMap:
googleMap.markerClickEvents() .subscribe { marker -> Log.d("MapsRx", "Marker ${marker.title} was clicked") }
Następny przykład pokazuje, jak można użyć operatora RxJava, merge
, do łączenia
kilka zdarzeń zarejestrowanych przez kamerę w jeden obserwowalny strumień:
Observable.merge( googleMap.cameraIdleEvents(), googleMap.cameraMoveEvents(), googleMap.cameraMoveCanceledEvents(), googleMap.cameraMoveStartedEvents() ).subscribe { // Notified when any camera event occurs }
Co dalej?
- Wyświetl bibliotekę Map Rx Strona projektu GitHub.
- Zobacz dokumentację API biblioteki Maps Rx.