TestsTested | ✗ |
LangLanguage | SwiftSwift |
License | MIT |
ReleasedLast Release | Apr 2016 |
SPMSupports SPM | ✗ |
Maintained by Futured.
To run the example project, clone the repo, and run pod install
from the Example directory first.
LocationManager is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod "LocationManager"
import LocationManager
let desiredAccuracy: CLLocationAccuracy? = kCLLocationAccuracyBestForNavigation
LocationManager.sharedManager.getCurrentLocation(desiredAccuracy: desiredAccuracy).then { location in
print("your current location: \(location)")
}.error { error in
print("error getting location: \(error)")
}
When using location observing, you can use these parameters:
desiredAccuracy: CLLocationAccuracy?
- specifies desired accuracy (see CoreLocation documentations for more info)import LocationManager
class MyObserver: LocationObserver {
func didUpdateLocation(manager: LocationManager, location: CLLocation) {
print("your location changed \(location)")
}
}
let desiredAccuracy: CLLocationAccuracy? = kCLLocationAccuracyBestForNavigation
let distanceFilter: CLLocationDistance? = 50 // meters
let observer = MyObserver()
LocationManager.sharedManager.addLocationObserver(observer,desiredAccuracy: desiredAccuracy,distanceFilter: distanceFilter)
When using location observing, you can use these parameters:
desiredAccuracy: CLLocationAccuracy?
- specifies desired accuracy (see CoreLocation documentations for more info)distanceFilter: CLLocationDistance?
- filter distances (desired distance between new location and previous location)minimumTimeInterval: NSTimeInterval?
- specifies how often should location update method should be called (minimum interval between calls - max frequency)maximumTimeInterval: NSTimeInterval?
- forces location update calls event there’s no new location available (maximum interval between calls)LocationManager
efeciently uses filter and accuracy of all requests and observers and calculates maximum required values to prevent battery draining.
For example if you two observers with 50m and 100m distance filter, the overal distance filter 50m. When you remove observer with 50m filter, the overal distance filter is recalculated to maximum required value (which is 100m). The same applies to desiredAccuracy.
LocationManager is available under the MIT license. See the LICENSE file for more info.