Skip to content

PKLOT/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.

CircleCI Version License Platform Carthage compatible

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 4.0 and RxSwift (4.4).

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

 
 
 

Contributors

Languages

  • Swift 92.3%
  • Ruby 5.6%
  • Objective-C 1.2%
  • Shell 0.9%