RxJava は、観測可能なシーケンスを使って非同期かつイベントベースのプログラムを記述するための、リアクティブ プログラミング ライブラリです。
Maps Rx ライブラリを使用すると、Maps SDK for Android と Places SDK for Android の非同期イベントの観測可能なシーケンスを取得して、RxJava の豊富な機能を活用できるようになります。
インストール
Google マップ プロジェクトに Maps Compose ライブラリをインストールする方法は、次のとおりです。
モジュール レベルの
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 オブジェクトの拡張関数として、マーカー クリック イベントの「Observable」を受け取る:
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 Compose ライブラリ(GitHub プロジェクト ページ)を確認する。
- Maps Rx Library API リファレンスを表示する。