2009-08-14 7 views
0

Hat jemand irgendwelche Vorschläge, wie Sie die beste horizontale Genauigkeit auf dem Standort-Manager erhalten? Ich habe die gewünschte Genauigkeit auf NearestTenMeters eingestellt, aber da sich die Genauigkeit je nach Abdeckungsbereich ändern kann, wie kann ich im locationManager Code schreiben, um die Aktualisierung erst zu stoppen, nachdem ich die beste horizontale Genauigkeit erreicht habe?CLLocationManager gewährleistet beste Genauigkeit für iphone

Antwort

0

Je länger die Hardware eingeschaltet ist und je mehr Standorte es erhält, desto genauer wird es. Sie können versuchen, den Manager frühzeitig einzuschalten, damit er genau wird, und dann den Speicherort abrufen. Es hilft auch, wenn sich das Ziel bewegt, der Chip ist in der Lage, genauere Messwerte zu erhalten, wenn sich GPS bewegt. Auch der Standort des Geräts macht einen Unterschied, Sie werden viel besser lesen, wenn Sie draußen auf einem Feld sind, als wenn Sie in einem Bunker sind, also ist manchmal das Lesen, das Sie erhalten, das Beste, das verfügbar ist. Ihr Code kann warten, bis er für einige Zeit keine Updates mehr vom Location Manager erhält, dann ist es wahrscheinlich in seiner besten Genauigkeit.

1

Wenn Sie wollen, dass es eine gewisse Genauigkeit sein, stellen Sie die delegierte Methode

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

if(newLocation.horizontalAccuracy <= (some number)) 
    [locationManager stopUpdatingLocation]; 

, so etwas zu haben.

Verwandte Themen