RxJava یک کتابخانه برنامه نویسی واکنشی برای نوشتن برنامه های ناهمزمان و مبتنی بر رویداد با استفاده از توالی های قابل مشاهده است.
کتابخانه Maps Rx به شما امکان میدهد توالیهای قابل مشاهده را برای رویدادهای ناهمزمان در Maps SDK برای Android و Places SDK برای Android دریافت کنید تا بتوانید از مجموعه غنی ویژگیهای RxJava استفاده کنید.
برای نصب کتابخانه Maps Rx در پروژه Google Maps:
وابستگی های زیر را به فایل
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:18.2.0" implementation 'com.google.android.libraries.places:places:3.5.0' implementation 'io.reactivex.rxjava3:rxjava:3.1.8'
- برای همگام سازی این تغییرات، پروژه خود را در Android Studio بازسازی کنید.
یک Observable برای رویدادهای کلیک نشانگر به عنوان یک تابع افزونه در شی 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 }
- صفحه پروژه GitHub کتابخانه Maps Rx را مشاهده کنید.
- مرجع API کتابخانه Maps Rx را مشاهده کنید.