Frage

Ich verwende folgende Bedingungen in Ordnung, um sicherzustellen, dass die Lage i verfügt über ausreichende Genauigkeit zu erhalten, In meinem Fall kCLLocationAccuracyBest. Aber das Problem ist, dass ich immer noch ungenau Standort erhalten.

// Filter out nil locations
if(!newLocation)
    return;

// Make sure that the location returned has the desired accuracy
if(newLocation.horizontalAccuracy < manager.desiredAccuracy)
    return;

// Filter out points that are out of order    
if([newLocation.timestamp timeIntervalSinceDate:oldLocation.timestamp] < 0)
    return;

// Filter out points created before the manager was initialized
NSTimeInterval secondsSinceManagerStarted = [newLocation.timestamp timeIntervalSinceDate:locationManagerStartDate];
if(secondsSinceManagerStarted < 0)
    return;

// Also, make sure that the cached location was not returned by the CLLocationManager (it's current) - Check for 5 seconds difference
if([newLocation.timestamp timeIntervalSinceReferenceDate] < [[NSDate date] timeIntervalSinceReferenceDate] - 5)
    return;

Wenn ich das GPS aktivieren, i ungenaue Ergebnisse erhalten, bevor ich tatsächlich ein genaues Ergebnis bekommen. Welche Methoden haben Sie genau / präzise Standortinformationen erhalten verwenden?

War es hilfreich?

Lösung 2

Der Hauptgrund dafür war ich zu ungenauen Ergebnissen bekommen war wegen dieser Bedingung:

if(newLocation.horizontalAccuracy < manager.desiredAccuracy)

Ich war mit kCLLocationAccuracyBest als desiredAccuracy und es ist eine negative Zahl. Sie sollten es nicht zum Vergleich verwendet werden.

Lösung: if(newLocation.horizontalAccuracy < 10.0)

Andere Tipps

GPS ist langsam, zumindest im Vergleich zu Benutzern Geduld, die Lage Manager geben die beste hat, bis sie eine neue, gültige GPS lesen bekommen. Sie können entweder den Benutzer warten lassen jedoch lange es ein genaues Lesen zu bekommen nimmt, oder irgendeine Art von inkrementellen Feedback haben die Möglichkeit, Google Maps der Fall ist, mit einem Kreis als einen Punkt.

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