戻り値が正確でないdistanceFromLocation関数でこの問題が見つかりました。私が誤ってやったのか、機能がバグなのか確認してください。iphone-distanceFromロケーション精度
CLLocation *locA = [[CLLocation alloc] initWithLatitude:5.321008 longitude:100.290131];
CLLocation *locB = [[CLLocation alloc] initWithLatitude:5.321008 longitude:100.290138];
CLLocationDistance distance = [locA distanceFromLocation:locB];
NSLog(@"distance: %f, locA: %f,%f, locB: %f,%f",distance,locA.coordinate.latitude,locA.coordinate.longitude,locB.coordinate.latitude,locB.coordinate.longitude);
出力は次のとおり
distance: 0.775644, locA: 5.321008,100.290131, locB: 5.321008,100.290138
両方の位置が近いと10メートル未満であるべきです。ただし、関数はより大きな距離を返します。このようhttp://jan.ucc.nau.edu/~cvm/latlongdist.html、サイトでチェックし、距離は次のようになります。
Distance between 5.321008N 100.290131E and 5.321008N 100.290138E is 0.0008 km
ちょうどそれについての通知、指摘のおかげで – mnazwan