RxJava는 관측 가능한 시퀀스를 사용하여 비동기 프로그램 및 이벤트 기반 프로그램을 작성하기 위한 반응형 프로그래밍 라이브러리입니다.
지도 Rx 라이브러리를 사용하면 Android용 Maps SDK 및 Android용 Places SDK에서 비동기 이벤트에 대한 관측 가능한 시퀀스를 수신하여 다양한 RxJava 기능을 활용할 수 있습니다.
설치
Google 지도 프로젝트에 지도 Rx 라이브러리를 설치하려면 다음 단계를 따르세요.
모듈 수준
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 스튜디오에서 프로젝트를 재구성하여 변경사항을 동기화하세요.
사용 예
마커 클릭 이벤트에 대한 관측 가능 함수를 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 라이브러리 GitHub 프로젝트 페이지를 확인합니다.
- 지도 Rx 라이브러리 API 참조를 확인합니다.