LocationManager

Location manager is a CLLocationManager wrapper written entirely in Swift

Podfile

To integrate VMLocationManager into your Xcode project using CocoaPods, specify it in your Podfile:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '12.0'

target 'TargetName' do
pod 'VMLocationManager', '~> 1.0.0'
end

Then, run the following command:

$ pod install

Usage

Closure

Location update

var locationManager = LocationManager.sharedInstance
        locationManager.showVerboseMessage = true
        locationManager.autoUpdate = false
        locationManager.startUpdatingLocationWithCompletionHandler { (latitude, longitude, status, verboseMessage, error) -> () in
            
            println("lat:\(latitude) lon:\(longitude) status:\(status) error:\(error)")
            
            println(verboseMessage)
            
        }

Geocoding using Apple service

var locationManager = LocationManager.sharedInstance
        
locationManager.geocodeAddressString(address: "Apple Inc., Infinite Loop, Cupertino, CA  95014, United States") { (geocodeInfo,placemark,error) -> Void in
            
            if(error != nil){
                
                println(error)
            }else{
                
                println(geocodeInfo!)
            }
        }

Reverse Geocoding using Apple service

var locationManager = LocationManager.sharedInstance
            locationManager.reverseGeocodeLocationWithLatLon(latitude: 37.331789, longitude: -122.029620) { (reverseGecodeInfo,placemark,error) -> Void in
            
            if(error != nil){
                
                println(error)
            }else{
                
                println(reverseGecodeInfo!)
            }
            
        }

Geocoding using Google service

var locationManager = LocationManager.sharedInstance
   locationManager.geocodeUsingGoogleAddressString(address: "Apple Inc., Infinite Loop, Cupertino, CA  95014, United States") { (geocodeInfo,placemark,error) -> Void in
            
            if(error != nil){
                
                println(error)
            }else{
                
                println(geocodeInfo!)
            }
            
        }

Reverse Geocoding using Google service

var locationManager = LocationManager.sharedInstance
      locationManager.reverseGeocodeLocationUsingGoogleWithLatLon(latitude: 37.331789, longitude: -122.029620) { (reverseGecodeInfo,placemark,error) -> Void in
            
            if(error != nil){
                
                println(error)
            }else{
                
                println(reverseGecodeInfo!)
            }
        }

Delegate

Location update

*class ViewController: UIViewController ,LocationManagerDelegate{....*

override func viewDidLoad() {
    
    super.viewDidLoad()
    
    var locationManager = LocationManager.sharedInstance
    
    locationManager.delegate = self
    
    locationManager.startUpdatingLocation()
    
    locationManager.stopUpdatingLocation()
}

 func locationManagerStatus(status:NSString){
    
    println(status)
}


func locationManagerReceivedError(error:NSString){
    
    println(error)
    
}

func locationFoundGetAsString(latitude: NSString, longitude: NSString) {
   
}


func locationFound(latitude:Double, longitude:Double){
    
}

GitHub

View Github