Я создаю приложение на основе loc, используя CLLocationManager и locationManager: didUpdateToLocation: fromLocation: я пытаюсь определить, достаточно ли пользователь переместился, чтобы вызвать какую-то другую обработку.Я использую двойные переменные.Я давно научился не приравнивать двойники, а сравнивать дельту с порогом.Я сравниваю abs (старый - новый) с дельтой 0.0005f
Но этот код ...
double latDelta = abs(theConsumer.latLong.clLocation.coordinate.latitude - newLocation.coordinate.latitude);
double lonDelta = abs(theConsumer.latLong.clLocation.coordinate.longitude - newLocation.coordinate.longitude);
NSString *fooBar = [NSString stringWithFormat:
@"???Delta LAT: abs(current (%f) - new (%f)) = delta %f.",
theConsumer.latLong.clLocation.coordinate.latitude,
newLocation.coordinate.latitude,
latDelta];
дает такой вывод: дельта равна нулю.
GPSLogger.m: (26)> GPSLOG: GPS: 39.4425- Север, 77.8132- Западный / n MeterAccuracyFormat 0
GPSLogger.m: (26)> GPSLOG: Найдены новые координаты: Лат: 39.442494 Длина: -77.813175DataModel.m: (197)> DistanceFromLoc: 710.517020 DataModel.m: (199)> Получена дельта> 0,000500 DataModel.m: (214)> Дельта LAT: abs (текущий (39.440120) - новый (39.442494)) = дельта 0.000000.
Числа переполнены?Есть ли лучший способ сделать это (то есть тот, который работает)?
Спасибо.