Frage

Ich erinnere mich, dass ich irgendwo gelesen habe (ich vergesse wo), dass eine iPhone -Anwendung, die einfach einmal den CllocationManager ausgeführt hat, nicht die genauesten Ergebnisse erzielte.

Ist das genau und wenn ja, wie kann ich dieses Problem bekämpfen? Ich möchte die genauesten GPS -Ergebnisse erzielen, und ich frage mich, ob nur einmal die besten Ergebnisse erzielt werden.

Danke für jede Hilfe!

War es hilfreich?

Lösung

CLLocationManager *locationManager.desiredAccuracy = kCLLocationAccuracyBest;

Wird das bestmögliche Ergebnis für Sie zurückgeben. Die Delegate -Methode

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation

Wird weiterhin den Standort des Benutzers basierend auf den von Ihnen festgelegten Genauigkeitseinstellungen zurückgeben.

Wenn Sie den Standort nur einmal benötigen, müssen Sie sich daran erinnern, anzurufen stopUpdatingLocation an self. Wenn Sie den Standort des Benutzers kontinuierlich aktualisieren müssen, rufen Sie nicht an stopUpdatingLocation

Ich benutze Corelocation, um den Standort eines Benutzers zu erhalten, und es ist ziemlich genau für meine Verwendung.

Andere Tipps

Was Sie gelesen haben, war wahrscheinlich von der iPhone Application Programming Guide:

Um den aktuellen Standort des Benutzers abzurufen, erstellen Sie eine Instanz der CllocationManager -Klasse und konfigurieren Sie ihn mit den gewünschten Genauigkeit und Schwellenwertparametern. Um mit dem Empfang von Standortbenachrichtigungen zu beginnen, weisen Sie dem Objekt einen Delegierten zu und rufen Sie die StartupdatingLocation -Methode auf, um die Bestimmung des aktuellen Standorts des Benutzers zu starten. Wenn neue Standortdaten verfügbar sind, benachrichtigt der Standortmanager sein zugewiesenes Delegierobjekt. Wenn bereits ein Standort -Update geliefert wurde, können Sie auch die neuesten Standortdaten direkt über das CLLOCTMANAGER -Objekt erhalten, ohne auf eine neue Veranstaltung zu warten.

[...]

Das Überprüfen des Zeitstempels einer Veranstaltung wird empfohlen, da der Standortdienst häufig sofort die zuletzt zwischengespeicherte Standort -Veranstaltung zurückgibt. Es kann mehrere Sekunden dauern, bis eine grobe Position behoben wird, sodass die alten Daten einfach als eine Möglichkeit dienen, den letzten bekannten Ort widerzuspiegeln. Sie können die Genauigkeit auch als Mittel verwenden, um festzustellen, ob Sie ein Ereignis annehmen möchten. Da es genauere Daten erhält, kann der Standortdienst zusätzliche Ereignisse zurückgeben, wobei die Genauigkeitswerte die Verbesserungen entsprechend widerspiegeln.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top