Ich versuche, eine grundlegende Kartenansicht zu implementieren und den aktuellen Standort eines Benutzers als Annotation der Karte hinzuzufügen. Ich habe den Requestwheninuse-Schlüssel zu meiner Datei info.plist hinzugefügt und CoreLocation importiert.sofortige Verarbeitung von Standortberechtigungen in swift
Meiner Ansicht Controller hat Load-Methode, habe ich folgendes:
locManager.requestWhenInUseAuthorization()
var currentLocation : CLLocation
if(CLLocationManager.authorizationStatus() == CLAuthorizationStatus.AuthorizedWhenInUse){
currentLocation = locManager.location
println("currentLocation is \(currentLocation)")
}
else{
println("not getting location")
// a default pin
}
Ich bin die prompte Wieder bekommen. Erlaubnis zum Abrufen des Standorts. Da dies geschieht, bekomme ich meinen Ausdruck, der sagt, dass ich keinen Ort finde, offensichtlich, weil dies läuft, bevor der Benutzer eine Chance hat, auf OK zu tippen. Wenn ich die app und kommen zurück in Elave kann ich den Standort abrufen und auf der Karte hinzuzufügen. Ich möchte aber, wenn der Benutzer das erste Mal auf OK tippt, um dann den aktuellen Standort abrufen und dort und dort zur Karte hinzufügen zu können. Wie kann ich das erreichen? Ich habe das folgende Verfahren einen Stift für das Hinzufügen von:
func addPin(location2D: CLLocationCoordinate2D){
self.mapView.delegate = self
var newPoint = MKPointAnnotation()
newPoint.coordinate = location2D
self.mapView.addAnnotation(newPoint)
}
Danke für die Antwort. Die Zeile locManger.delegate = self gibt mir einen Fehler 'expected declaration' – user2363025
@ user2363025 Kannst du das ausarbeiten? Klicken Sie auf den Fehler und es sollte Ihnen mehr sagen –
Das ist der ganze Fehler sagt. Beim Schweben werden keine zusätzlichen Informationen angezeigt. Ich habe hier http://stackoverflow.com/questions/24121761/how-to-use-corelocation-with-swift gesehen, dass ich vielleicht locManager im appdelegate definieren soll? Ich bekomme auch Fehler in jedem Fall der switch-Anweisung sagen, dass jede der Methoden nicht ohne Argumente aufgerufen werden kann, ob ich den locManager in appdelegate oder meine View-Controller – user2363025