2016-03-21 16 views
2

Bis jetzt ist das der Code, den ich habe. Ich versuche, die Werte von locValue.latitude und locValue.longitude entweder als Zeichenfolge oder als Ganzzahl zu speichern. Ich habe versucht, den Rückgabetyp in der Methode (-> String, etc.) zu definieren, aber ich bekomme einen Fehler, der besagt, dass die didChangeAuthorizationStatus-Methode mit der optionalen Anforderungsmethode locationManager im Protokoll CLLocationManagerDelegate in Konflikt steht.Swift: Wie kann ich Koordinaten mit CLLocationCoordinate2D als String oder Int speichern?

func locationManager(manager: CLLocationManager, didChangeAuthorizationStatus status: CLAuthorizationStatus) { 
    if status == .AuthorizedAlways { 
     let locValue:CLLocationCoordinate2D = manager.location!.coordinate 
     self.dispLocation.text = "locations = \(locValue.latitude) \(locValue.longitude)" 
    } 
} 
+0

sie speichern, wo? Warum speichern Sie sie nicht einfach im Originalformat? – nielsbot

+0

Meine Absicht ist es, die Werte als Variablen zu speichern, so dass ich sie in eine API-URL einfügen kann, um den wechselnden Standort anzupassen –

Antwort

4

erklären nur zwei Strings

var lat = "" 
var long = "" 

Und die von Ihrem Standort analysieren lat und long

func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { 
    let location:CLLocationCoordinate2D = manager.location!.coordinate 
    lat = String(location.latitude) 
    long = String(location.longitude) 
} 
+1

Danke, habe es gelöst! –

+0

Entschuldigung, dies ist mein erster Eintrag auf StackOverflow. Danke für den Hinweis. –

2

können Sie auch versuchen, diese -

func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) 
{ 
    var locValue:CLLocationCoordinate2D = CLLocationCoordinate2DMake(0, 0); 

    if manager.location?.coordinate != nil { 
     locValue = (manager.location?.coordinate)! 
    } 

    let locations = "locations = \(locValue.latitude) \(locValue.longitude)" 
    print(locations) 
}