2016-09-22 1 views
0

Je travaille avec Firebase Db, et je veux enregistrer lat, valeur longue de l'appareil sur Firebase. J'ai eu deux valeurs de LocationManager()Swift - Comment obtenir la valeur de la latitude et de la longitude en dehors de la fonction LocationManager()

Ceci est ma fonction LocationManager()

func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { 
     let lastLocation: CLLocation = locations[locations.count - 1] 
     let lat = String(format: "%.6f", lastLocation.coordinate.latitude) 
     let long = String(format: "%.6f", lastLocation.coordinate.longitude) 
    } 

Ensuite, je tente de sauver lat, long Firebase:

ref = FIRDatabase.database().reference() 
    ref.setValue(lat) 

Error: "Use of Unresolved Identifier".

Comment obtenir la latitude et la longitude en dehors de la fonction LocationManager().

Répondre

2

Vous pouvez déclarer CLLocationManagerDelegate à l'endroit exact de votre définition de classe.

class YourClass { 
    private var currentCoordinate: CLLocationCoordinate2D? 
} 

Et dans votre emplacement méthode déléguée vous assignez la valeur actuelle

func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!) { 
    currentCoordinate = manager.location.coordinate 
}