Frage

Ich entwickle eine iPhone-App, die eine Lage bewusst App ist.  Currentlly die App in Ordnung, außer dem Caching von vorheriger Position arbeiten.  Das erste Mal, dass ich die Anwendung Standort-Manager starten holt den aktuellen Standort und dann zeige ich in der Nähe Dinge auf der Grundlage der aktuellen Position an.

Aber ab dem nächsten verwendet es zuvor geholten Lage und bis ich das Telefon neu starten wird es die gleiche Position holen. Also bis zu diesem Punkt bin ich klar, dass der Standort-Manager die Lage zwischenspeichert.

Also meine Frage ist, wie diese Cache zu entfernen und den Standort-Manager zwingen, einen neuen Standort zu holen Dank

War es hilfreich?

Lösung

Eigentlich glaube ich nicht, können Sie: es ist an Ihnen (in Ihrer CLLocationManagerDelegate Instanz) die Position Sie filtern erhalten auf der Grundlage ihrer Zeitstempel (um sicherzustellen, dass die Position, die Sie auf Arbeit ist jüngeren Datums, nicht eine im Cache gespeicherte ein ).

-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation{ NSDate *eventDate = newLocation.timestamp; NSTimeInterval howRecent = [eventDate timeIntervalSinceNow]; //Is the event recent and accurate enough ? if (abs(howRecent) < SECS_OLD_MAX) { //WORK WITH IT ! } .... ....

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