+1  A: 

You should also test the age of your location data. This is the closest thing to flushing the cache (which is not possible). Check the timestamp property and reject the update if it's too old.

// check that the location data isn't older than 60 seconds
if ([newLocation.timestamp timeIntervalSinceReferenceDate] < [NSDate timeIntervalSinceReferenceDate] - 60) {
    return;
}
nevan
A: 

the app runs the whole day (sorry for this answer, i tried to make a comment. how can i?).

thanks nevan, i hope this will fix it. but i assume not. because the wrong positions are not only old positions.

tim