Skip to content

RxMKMapView is a RxSwift wrapper for MKMapView `delegate`.

License

Notifications You must be signed in to change notification settings

cheif/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

No packages published

Languages

  • Swift 92.1%
  • Ruby 5.8%
  • Objective-C 1.2%
  • Shell 0.9%