RxJava to reaktywna biblioteka programistyczna do tworzenia programów asynchronicznych i opartych na zdarzeniach przez wykorzystanie obserwowalnych sekwencji.
Biblioteka Rx Map Google umożliwia otrzymywanie obserwowalnych sekwencji zdarzeń asynchronicznych w pakiecie Maps SDK na Androida i pakiecie Places SDK na Androida, dzięki czemu możesz korzystać z bogatego zestawu funkcji RxJava.
Instalacja
Aby zainstalować bibliotekę Map Rx w projekcie Map Google:
Dodaj te zależności do pliku
build.gradle
na poziomie modułu: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:18.2.0" implementation 'com.google.android.libraries.places:places:3.4.0' implementation 'io.reactivex.rxjava3:rxjava:3.1.8'
- Aby zsynchronizować te zmiany, ponownie utwórz projekt w Android Studio.
Przykład użycia
Odbierz obiekt Dostrzegalny dla zdarzeń kliknięcia znacznika jako funkcję rozszerzenia w obiekcie GoogleMap:
googleMap.markerClickEvents() .subscribe { marker -> Log.d("MapsRx", "Marker ${marker.title} was clicked") }
Następny przykład pokazuje, jak za pomocą operatora RxJava (merge
) połączyć różne zdarzenia związane z kamerą w jeden widoczny strumień:
Observable.merge( googleMap.cameraIdleEvents(), googleMap.cameraMoveEvents(), googleMap.cameraMoveCanceledEvents(), googleMap.cameraMoveStartedEvents() ).subscribe { // Notified when any camera event occurs }
Co dalej
- Wyświetl stronę projektu na GitHubie biblioteki Rx Map Google.
- Wyświetl dokumentację interfejsu API biblioteki Map Rx.