我正在使用CLLocation來計算距當前用戶位置和註釋的距離。不過,我只是想知道這是否正確。我目前使用iPhone模擬器,這和根據的MKMapView iPhone模擬器這裏位於:CLLocation distanceFromLocation
Lat: 0 Long: -1067024384
註釋的位置是:
workingCoordinate.latitude = 40.763856;
workingCoordinate.longitude = -73.973034;
但是,如果你把在谷歌看看地圖,你會找出這些距離有多接近,但是根據CLLocation而分開。我使用下面的代碼來確定它們之間的距離。
CLLocation *loc = [[CLLocation alloc] initWithLatitude:annotation.coordinate.latitude longitude:annotation.coordinate.longitude];
CLLocation *loc2 = [[CLLocation alloc] initWithLatitude:self.mapView.userLocation.coordinate.latitude longitude:self.mapView.userLocation.coordinate.longitude];
CLLocationDistance dist = [loc distanceFromLocation:loc2];
int distance = dist
NSLog(@"%i", distance);
NSLogged的距離是12769908.我認爲這是不正確的,因此我的代碼一定有問題。
如果有請你指出!
我在設備上遇到同樣的錯誤。這裏是您所提供的代碼的輸出:'ANNO = 37.331741,-122.030564 USER = -180.000000,-180.000000 LOC = 37.331741,LOC2 = -180.000000,-180.000000 LOC2 = -180.000000,-180.000000 DIST:12769908.162754' – 2011-03-05 00:32:04
我仍然像以前那樣獲取隨機位置。 – 2011-03-05 01:19:31
它對我有用! – WWJD 2014-04-14 12:49:33