Im Erstellen dieser App, und es muss den Benutzer Standort - alles funktioniert ordnungsgemäß, die Sache ist, dass die Zeit von der Annahme der Verwendung von Standortdiensten, um den tatsächlichen Standort zu nehmen dauert wie 5 Sekunden - ist das normal? ich verwendet habe, andere Anwendungen, wo es viel schneller geht ..CLLocationManager ist langsam bekommen Ort, Swift
Hier ist, was mein Code wie folgt aussieht:
override func viewDidLoad() {
super.viewDidLoad()
// Ask for Location-Authorisation from the User.
self.locationManager.requestWhenInUseAuthorization()
if CLLocationManager.locationServicesEnabled() {
locationManager.delegate = self
locationManager.requestLocation()
}
mapView.delegate = self
}
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let locValue: CLLocationCoordinate2D = manager.location!.coordinate
let initialLocation = CLLocation(latitude: locValue.latitude, longitude: locValue.longitude)
self.centerMapOnLocation(initialLocation)
}
func locationManager(manager: CLLocationManager, didFailWithError error: NSError) {
print("could not get location")
}
Aber die Zeit von der Anwendung wird die Lage in den centerMapOnLocation-Funktion zu setzen, scheint nur ziemlich lang zu sein. Was ist zu erwarten, wenn ein Nutzerstandort ermittelt wird? Ich teste auf einer WiFi-Verbindung, so dass ich es nicht kenne, weil das Internet langsam ist, oder es ist eine schlechte Verbindung ...
Wer hat eine Idee? :)
Mit freundlichen Grüßen!
versuchen Sie, die Genauigkeit einzustellen und locationManager.startUpdatingLocation() zu verwenden. Ich mache das und bekomme Antwort innerhalb einer Sekunde (auf dem Gerät). –
Super! locationManager.startUpdatingLocation() hat es geschafft! Ich habe es mit .requestLocation() getauscht, und jetzt funktioniert es wie ein Zauber! Danke @JensPeter - möchte dir die richtige Antwort geben, aber ich kann es nicht als Kommentar:/schreibe eine Antwort, und ich werde es akzeptieren :) –