2016-09-11 6 views
0

나는 사용자의 현재 위치 포착의 ViewController에서이 코드를 가지고 :스위프트 : 다른 빠른 파일에서 사용할 위도와 경도를 저장하는 방법

@IBOutlet weak var userMapView: MKMapView! 

var locationManager = CLLocationManager() 

override func viewDidLoad() { 
    super.viewDidLoad() 

    locationManager = CLLocationManager() 
    locationManager.delegate = self 
    locationManager.desiredAccuracy = kCLLocationAccuracyBest 
    locationManager.requestWhenInUseAuthorization() 
    locationManager.startUpdatingLocation() 

} 

func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { 

    let location : CLLocationCoordinate2D = manager.location!.coordinate 

    print(location.latitude) 

    let latitudeDelta : CLLocationDegrees = 0.01 
    let longitudeDelta : CLLocationDegrees = 0.01 

    let span : MKCoordinateSpan = MKCoordinateSpanMake(latitudeDelta, longitudeDelta) 

    let center : CLLocationCoordinate2D = CLLocationCoordinate2DMake(location.latitude, location.longitude) 

    let region : MKCoordinateRegion = MKCoordinateRegionMake(center, span) 

    self.userMapView.setRegion(region, animated: false) 

    self.userMapView.removeAnnotations(userMapView.annotations) 

    let userPinLocation : CLLocationCoordinate2D = CLLocationCoordinate2DMake(location.latitude, location.longitude) 

    let pinAnnotation = MKPointAnnotation() 

    pinAnnotation.coordinate = userPinLocation 

    pinAnnotation.title = "Sua localização atual" 

    self.userMapView.addAnnotation(pinAnnotation) 

} 

나는 데이터베이스 기능을 가진 또 다른 빠른 파일이, 그리고 I 데이터베이스에서 사용하기 위해 위도와 경도를 저장해야합니다.

locationManager 함수 외부에서 사용할 변수에 위도와 경도를 저장하는 방법은 무엇입니까?

답변

0

locationManager (_ : didUpdateLocations :) 인스턴스 메소드에서 데이터베이스 작업을 수행하십시오. 또는 var 글로벌 모델.

0

CLLocationCoordinate2D은 복식 2 개를 포함하는 단지 Struct입니다.

당신의 didUpdateLocations 함수의 첫 번째 라인은 지역 변수 location로 현재 위치를 추출 : 당신은 그냥 인스턴스 변수에 로컬 변수에서이를 변경할 수 있으며 그 외부에서 볼 수있을 것

let location : CLLocationCoordinate2D = manager.location!.coordinate 

기능. 값을 지정하지 않으면 아무 것도되지 않도록 선택 사항으로 만들 수 있습니다.