RxJava kitaplığı

RxJava, gözlemlenebilir diziler kullanarak eşzamansız ve etkinliğe dayalı programlar oluşturmak için kullanılan bir reaktif programlama kitaplığıdır.

Maps Rx kitaplığı, Android için Haritalar SDK'sı ve Android için Places SDK'sındaki eşzamansız etkinlikler için gözlemlenebilir diziler almanıza olanak tanır. Böylece RxJava özelliklerinin zengin setinden yararlanabilirsiniz.

Kurulum

Maps Rx kitaplığını Google Haritalar projenize yüklemek için:

  1. Modül düzeyindeki build.gradle dosyanıza aşağıdaki bağımlılıkları ekleyin:

        dependencies {
        // RxJava bindings for the Maps SDK
        implementation(libs.maps.rx)
    
        // RxJava bindings for the Places SDK
        implementation(libs.places.rx)
    
        // 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:20.0.0")
        implementation("com.google.android.libraries.places:places:5.3.0")
        implementation("io.reactivex.rxjava3:rxjava:3.1.12")

  2. Bu değişiklikleri senkronize etmek için projenizi Android Studio'da yeniden derleyin.

Örnek kullanım

GoogleMap nesnesinde bir uzantı işlevi olarak işaretçi tıklama etkinlikleri için Observable alma:

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

Çeşitli kamera etkinliklerini tek bir Observable akışında birleştirmek için merge RxJava operatörünü kullanın:

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

Sırada ne var?