Sto tentando di implementare una visualizzazione di base della mappa e di aggiungere la posizione corrente dell'utente alla mappa come annotazione. Ho aggiunto la chiave requestwheninuse al mio info.plist e importato CoreLocation.Gestione istantanea delle autorizzazioni di posizione in rapido
Nel metodo load fatto del mio controller della vista, ho le seguenti:
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
}
Sto ottenendo il re pronta. permesso di recuperare la posizione. Mentre questo sta accadendo, sto ricevendo la mia stampa dicendo di non ottenere la posizione, ovviamente perché questo funziona prima che l'utente abbia la possibilità di toccare OK. Se elascio l'app e torno indietro, posso recuperare la posizione e aggiungerla alla mappa. Tuttavia, voglio quando l'utente tocca OK la prima volta per essere in grado di afferrare la posizione corrente e aggiungerla alla mappa lì e poi. Come posso raggiungere questo obiettivo? Ho il seguente metodo per l'aggiunta di un perno:
func addPin(location2D: CLLocationCoordinate2D){
self.mapView.delegate = self
var newPoint = MKPointAnnotation()
newPoint.coordinate = location2D
self.mapView.addAnnotation(newPoint)
}
Grazie per la risposta. La riga locManger.delegate = self mi sta dando un errore 'dichiarazione prevista' – user2363025
@ user2363025 puoi elaborare? Clicca sull'errore e dovrebbe dirti di più –
Questo è tutto ciò che dice l'errore. Nessuna informazione aggiuntiva sta spuntando al passaggio del mouse. Ho visto qui http://stackoverflow.com/questions/24121761/how-to-use-corelocation-with-swift che forse dovrei definire locManager in appdelegate? Ricevo anche errori in ogni caso dell'istruzione switch dicendo che ognuno dei metodi non può essere chiamato senza argomenti se ho definito il locManager in appdelegate o il mio controller di vista – user2363025