RxJava היא ספריית תכנות תגובתית להרכבת תוכניות אסינכרוניות ומבוססות-אירועים על ידי באמצעות רצפים גלויים.
הספרייה Rx של מפות Google מאפשר לקבל רצפים גלויים של אירועים אסינכרוניים ב-SDK של מפות Google ל-Android ו-Places SDK ל-Android, כדי שתוכלו לנצל את המגוון העשיר של התכונות של RxJava.
התקנה
כדי להתקין את הספרייה Rx של מפות Google בפרויקט של מפות Google:
מוסיפים את יחסי התלות הבאים לקובץ
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.
שימוש לדוגמה
קבלת 'ניראות' עבור אירועים של קליקים על סמנים כפונקציה של תוסף באובייקט 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 }
המאמרים הבאים
- הצגת הספרייה Rx של מפות Google דף הפרויקט ב-GitHub.
- מידע נוסף על הפניית API של ספריית Rx של מפות Google.