2016-09-22 6 views
0

Я работаю с Firebase Db, и я хочу сохранить lat, длинную стоимость устройства на Firebase. Я имел два значения из locationManager()Swift - Как получить значение широты и долготы вне функции LocationManager()

Это моя функция 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) 
    } 

Далее, я пытаюсь сохранить лат, долго на Firebase:

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

Error: "Use of Unresolved Identifier".

Как получить значение широты и долготы вне функции LocationManager().

ответ

2

Вы можете объявить CLLocationManagerDelegate в том месте, где указано определение вашего класса.

class YourClass { 
    private var currentCoordinate: CLLocationCoordinate2D? 
} 

И в вашем месте метод делегата присвоить текущее значение

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