ไลบรารี RxJava

RxJava เป็นไลบรารีโปรแกรมเชิงรับที่ใช้เขียนโปรแกรมที่อิงกับเหตุการณ์และแบบอะซิงโครนัสโดย โดยใช้ลำดับที่สังเกตได้

ไลบรารี Maps Rx ช่วยให้คุณได้รับลําดับที่สังเกตได้สําหรับเหตุการณ์อะซิงโครนัสใน Maps SDK สําหรับ Android Places SDK สำหรับ Android เพื่อให้คุณสามารถใช้ประโยชน์จากชุดคุณลักษณะ RxJava ที่มีมากมาย

การติดตั้ง

วิธีติดตั้งไลบรารี Maps Rx ในโครงการ Google Maps

  1. เพิ่มทรัพยากร Dependency ต่อไปนี้ลงในไฟล์ 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")
  2. สร้างโปรเจ็กต์ใหม่ใน Android Studio เพื่อซิงค์การเปลี่ยนแปลงเหล่านี้

ตัวอย่างการใช้งาน

รับ Observable formark Click Event เป็นฟังก์ชันส่วนขยายบนออบเจ็กต์ 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
}

ขั้นตอนถัดไป