RxJava-Bibliothek

RxJava ist eine reaktive Programmierbibliothek zum Erstellen asynchroner und ereignisbasierter Programme mithilfe von beobachtbaren Sequenzen.

Mit der Maps Rx-Bibliothek erhalten Sie beobachtbare Sequenzen für asynchrone Ereignisse im Maps SDK for Android und Places SDK for Android. So profitieren Sie von allen RxJava-Funktionen.

Installation

So installieren Sie die Maps Rx-Bibliothek in Ihrem Google Maps-Projekt:

  1. Fügen Sie der Datei build.gradle auf Modulebene die folgenden Abhängigkeiten hinzu:

    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'
    
  2. Erstellen Sie Ihr Projekt in Android Studio neu, um die Änderungen zu synchronisieren.

Verwendungsbeispiel

Beobachtbare Sequenz für Markierungs-Klickereignisse als Erweiterungsfunktion für das GoogleMap-Objekt erhalten:

googleMap.markerClickEvents()
  .subscribe { marker ->
    Log.d("MapsRx", "Marker ${marker.title} was clicked")
  }

Im nächsten Beispiel wird gezeigt, wie Sie mit dem RxJava-Operator merge verschiedene Kameraereignisse in einem gemeinsamen Stream für beobachtbare Sequenzen zusammenführen können:

Observable.merge(
  googleMap.cameraIdleEvents(),
  googleMap.cameraMoveEvents(),
  googleMap.cameraMoveCanceledEvents(),
  googleMap.cameraMoveStartedEvents()
).subscribe {
  // Notified when any camera event occurs
}

Weiteres Vorgehen