Ich verwende CLLocationManager, um den aktuellen Standort des Benutzers abzurufen. Ich benötige den aktuellen Standort des Benutzers, da ich die Open Weather API verwende, um die Wetterdaten anzuzeigen, wo auch immer sich der Benutzer befindet. Mein Problem ist, dass beim ersten Öffnen der App der Wert für lat und long 0, 0 ist. Aber wenn ich die App erneut starte, funktioniert es gut. So werden nur beim ersten Start der App falsche Lat- und Long-Werte verwendet. Ich mache alle meinen Satz in viewDidLoad auf, hier ist der Code ...Latidude und Longitude sind beim ersten Start der App falsch ios
locationManager = [[CLLocationManager alloc] init];
[locationManager requestAlwaysAuthorization];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0)
[self->locationManager requestWhenInUseAuthorization];
[locationManager startUpdatingLocation];
Ich weiß nicht, was ich falsch mache. Hat es etwas damit zu tun, den Lat und Long im View Controller statt App Delegate zu bekommen?
Hier ist, wie ich die Lage Werte bin immer:
locationManager.location.coordinate.latitude
locationManager.location.coordinate.longitude
Der Code zeigt nicht, wie Sie den Standortwert abrufen und verarbeiten. Ich schlage vor, Sie teilen das auch. Ist es ein Simulator oder ein echtes Gerät? –
Okay, diesen Code jetzt posten. Und ich benutze ein tatsächliches Gerät. Dieser Fehler tritt jedoch sowohl auf dem Simulator als auch auf dem Gerät auf. –
Wollen Sie sagen, dass diese beiden Zeilen den vorherigen Codezeilen innerhalb desselben Blocks/derselben Methode folgen? –