私は以下のようにコーディングして正しい結果が得られますことを確認することによって
CLLocation *location1 = [[CLLocation alloc] initWithLatitude:DEFAULT_LAT longitude:DEFAULT_LNG];
CLLocationCoordinate2D annocoord = CLLocationCoordinate2DMake(location1.coordinate.latitude, location1.coordinate.longitude);
CLLocationCoordinate2D usercoord = self.locationManager.location.coordinate;
CLLocation *loc = [[CLLocation alloc] initWithLatitude:annocoord.latitude longitude:annocoord.longitude];
CLLocation *loc2 = [[CLLocation alloc] initWithLatitude:self.locationManager.location.coordinate.latitude longitude:self.locationManager.location.coordinate.longitude];
NSLog(@"LOC = %f, %f", loc.coordinate.latitude, loc.coordinate.longitude);
NSLog(@"LOC2 = %f, %f", loc2.coordinate.latitude, loc2.coordinate.longitude);
CLLocationDistance dist = [loc distanceFromLocation:loc2];
NSLog(@"DIST: %f", dist); // Wrong formatting may show wrong value!
スタート'self.currentLocation'と' location1'は両方とも非nilです。いずれかが 'nil 'の場合、' distance'は '0'になります。 – rmaddy
あなたは私の答え@ user831098があなたに役立つのを見ましたか? –