RxJava – это реактивная библиотека для создания асинхронных и событийных программ с помощью наблюдаемых последовательностей.
Библиотека Maps Rx позволяет получать наблюдаемые последовательности асинхронных событий в Maps SDK и Places SDK для Android и пользоваться широкими возможностями библиотеки RxJava.
Установка
Чтобы установить библиотеку Maps Rx для проекта Google Карт, выполните следующие действия:
Добавьте в файл
build.gradleна уровне модуля следующие зависимости: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'- Заново выполните сборку проекта в Android Studio, чтобы синхронизировать эти изменения.
Пример использования
Получение наблюдаемой последовательности кликов по маркеру в качестве расширения объекта GoogleMap:
googleMap.markerClickEvents()
.subscribe { marker ->
Log.d("MapsRx", "Marker ${marker.title} was clicked")
}
В примере ниже показано, как использовать оператор RxJava merge для объединения разных событий камеры в одну наблюдаемую последовательность:
Observable.merge(
googleMap.cameraIdleEvents(),
googleMap.cameraMoveEvents(),
googleMap.cameraMoveCanceledEvents(),
googleMap.cameraMoveStartedEvents()
).subscribe {
// Notified when any camera event occurs
}
Что дальше
- Посетите страницу проекта Библиотека Maps Rx на GitHub.
- Ознакомьтесь с документацией по API библиотеки Maps Rx.