iPhone aktuelle Koordinaten des Benutzerstandorts mit (0,0)

8

Ich versuche, mit dieser viewDidLoad-Methode den aktuellen Breiten- und Längengrad des Benutzers zu erhalten. Die resultierende Karte zeigt den aktuellen Standort korrekt an, der NSLog zeigt jedoch konsistent:

%Vor%

Weiß jemand, was ich hier vermisse? Vielen Dank im Voraus für Ihre Hilfe!

%Vor%     
ennuikiller 19.09.2009, 20:50
quelle

8 Antworten

9

Die Karte versucht nicht, den Standort des Benutzers zu erhalten, bis es tatsächlich angezeigt wird, soweit ich weiß. Ein guter Test dafür ist, wann Sie das Dialogfeld erhalten, in dem Sie gefragt werden, ob es für die App in Ordnung ist, den Standort des Benutzers zu ermitteln. Nach meiner Erfahrung ist das immer erst aufgetaucht, nachdem die Karte auf dem Bildschirm erscheint.

Der beste Weg, dieses Problem anzugehen, wenn Sie beim Start eine Position haben müssen, ist die Implementierung des klassischen Core-Position-Handler-Codes und das Abrufen der Position von dieser ursprünglich. Sie können keine Updates mehr von dort erhalten, sobald die Karte geöffnet ist, und weitere Änderungen von dort erhalten. Wenn Sie jedoch ständige Updates benötigen, sollten Sie besser mit den standardmäßigen Core Location Updates fortfahren. Wenn Sie darüber nachdenken, wenn Sie "Benutzer anzeigen Standort "aktiviert in der Karte die weitere Nutzung von Core Location durch Ihre App ist im Prinzip kostenlos, da das GPS sowieso die ganze Zeit hochgefahren wird.

    
Kendall Helmstetter Gelner 20.09.2009, 02:05
quelle
4

Wenn Sie versuchen, in der viewDidLoad () -Methode Benutzerkoordinaten zu erhalten, wird immer ein Ergebnis von 0,0 ausgegeben, weil es noch nicht initialisiert ist.

Sie sollten einen Blick auf "Where Am I" Beispielcode Apple Website werfen. Es erklärt, was Sie brauchen. Sie müssen die CLLocationManager -Klasse verwenden. Sie benötigen auch die Methode

%Vor%

Diese Methode wird jedes Mal automatisch aufgerufen, wenn der Benutzerstandort aktualisiert wird. Wenn Sie den Simulator verwenden, wird diese Methode nur einmal aufgerufen und gibt einige Standardkoordinaten zurück.

Ich hoffe, es hilft.

    
Napster 21.09.2009 05:36
quelle
2

Aus dem Dokument CLLocation , wenn die horizontale Genauigkeit oder vertikale Genauigkeit negativ ist, bedeutet dies, dass sie keinen Wert finden kann. Ich vermute, dass das hier passiert. Denken Sie daran, dass, wenn Sie nur einmal schauen, es Ihnen einen ungefähren letzten bekannten Standort geben kann, bevor Sie jemals das Genauigkeitsergebnis verbessern.

  

Horizontale Genauigkeit   Der Breitengrad der Koordinate und   Länge identifizieren das Zentrum der   Kreis und dieser Wert zeigt an   Radius dieses Kreises. Ein Negativ   Wert gibt an, dass die Koordinate ist   Länge und Breite sind ungültig.

    
AlBlue 19.09.2009 20:55
quelle
1

Sie sollten die Koordinaten von CoreLocation anstelle von MapKit erhalten. MapView zeigt den Standort des Benutzers an, nachdem er den aktuellen Standort erreicht hat. Bevor der Standort bestimmt wird, werden die Längen- und Breitengrade beide auf 0 gesetzt. 3

Sie sollten eine CLLocationManager-Instanz erstellen und den Delegaten festlegen. Sie werden benachrichtigt, wenn der Standort ermittelt wurde.

    
Mike Chen 20.09.2009 05:17
quelle
1

Wie Kendall sagte, hat MKMapView keinen Benutzerstandort, bis das Laden beendet ist Die viewDidLoad-Methode ist normalerweise zu früh, um sie anzufordern. Ein einfacherer Weg als die Verwendung von CoreLocation ist die Implementierung der MKMapViewDelegate-Methode %Code%. Sie erhalten den Standort des Benutzers, sobald er sich befindet, ohne sich mit einem CLLocationManager befassen zu müssen.

    
Drew C 08.01.2013 17:33
quelle
0

In dieser Antwort wird erläutert, wie eine Kartenansicht mit einem Benutzerstandort festgelegt wird:

Wie initiiere ich MKMapView mit einem bestimmten Benutzerstandort?

    
petert 09.03.2010 15:52
quelle
0

Versuchen Sie dies in

%Vor%

ViewdidAppear: oder rufen Sie selector nach Verzögerung auf

    
iGo 05.05.2014 11:32
quelle
-1

Fügen Sie dies Ihrem viewDidLoad-Abschnitt

hinzu %Vor%     
theMik 02.05.2010 04:56
quelle

Tags und Links