Thư viện RxJava

RxJava là một thư viện lập trình phản ứng để soạn các chương trình không đồng bộ và dựa trên sự kiện bằng cách sử dụng các trình tự có thể quan sát.

Thư viện Maps Rx cho phép bạn nhận các trình tự có thể quan sát cho các sự kiện không đồng bộ trên Maps SDK cho Android và Places SDK cho Android để bạn có thể tận dụng bộ tính năng phong phú của RxJava.

Cài đặt

Cách cài đặt thư viện Maps Rx trong dự án Google Maps:

  1. Thêm các phần phụ thuộc sau vào tệp build.gradle cấp mô-đun:

        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. Tạo lại dự án trong Android Studio để đồng bộ hoá những thay đổi này.

Ví dụ về cách sử dụng

Nhận Observable cho các sự kiện nhấp chuột vào điểm đánh dấu dưới dạng hàm mở rộng trên đối tượng GoogleMap:

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

Sử dụng toán tử RxJava merge để kết hợp nhiều sự kiện camera thành một luồng Observable duy nhất:

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

Bước tiếp theo