RxJava เป็นไลบรารีโปรแกรมเชิงรับที่ใช้เขียนโปรแกรมที่อิงกับเหตุการณ์และแบบอะซิงโครนัสโดย โดยใช้ลำดับที่สังเกตได้
ไลบรารี Maps Rx ช่วยให้คุณได้รับลําดับที่สังเกตได้สําหรับเหตุการณ์อะซิงโครนัสใน Maps SDK สําหรับ Android Places SDK สำหรับ Android เพื่อให้คุณสามารถใช้ประโยชน์จากชุดคุณลักษณะ RxJava ที่มีมากมาย
การติดตั้ง
วิธีติดตั้งไลบรารี Maps Rx ในโครงการ Google Maps
เพิ่มทรัพยากร 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")
- สร้างโปรเจ็กต์ใหม่ใน 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 }
ขั้นตอนถัดไป
- ดูไลบรารี Maps Rx หน้าโปรเจ็กต์ GitHub
- ดูข้อมูลอ้างอิง API ของไลบรารี Maps Rx