Skip to content

RxMKMapView is a RxSwift wrapper for MKMapView `delegate`.

License

Notifications You must be signed in to change notification settings

liberty-rider/RxMKMapView

 
 

Repository files navigation

RxMKMapView

RxMKMapView is a RxSwift wrapper for MKMapView (MapKit) delegate providing a Reactive Delegate Proxy as well as a bindable annotations interface to dynamically change the "data source" of your map.

Installation

RxMKMapView is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "RxMKMapView"

Add this to Cartfile

github "RxSwiftCommunity/RxMKMapView"

Example Usages

// MARK: Setup MKMapView

let mapView = MKMapView(frame: view.frame)
view.addSubview(mapView)

// MARK: Bind Annotations

requestForAnnotations() // Observable<[MyMapAnnotation]>
    .asDriver(onErrorJustReturn: [])
    .drive(mapView.rx.annotations)
    .disposed(by: disposeBag)

// MARK: Respond to Loading Events

mapView.rx.willStartLoadingMap
       .asDriver()
       .drive(onNext: {
           print("map started loadedloading")
       })
       .disposed(by: disposeBag)

mapView.rx.didFinishLoadingMap
       .asDriver()
       .drive(onNext: {
           print("map finished loading")
       })
       .disposed(by: disposeBag)

Requirements

RxMKMapView requires Swift (5.0 and RxSwift (5.0).

License

RxMKMapView is available under the MIT license. See the LICENSE file for more info.

About

RxMKMapView is a RxSwift wrapper for MKMapView `delegate`.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 86.1%
  • Ruby 10.9%
  • Objective-C 3.0%