使用OC计算两个坐标之间得距离。
时间: 2023-04-11 10:02:30 浏览: 74
可以使用以下代码计算两个坐标之间的距离:
```
#import <Foundation/Foundation.h>
double distanceBetweenCoordinates(double lat1, double lon1, double lat2, double lon2) {
double R = 6371; // 地球半径,单位为千米
double dLat = (lat2 - lat1) * M_PI / 180;
double dLon = (lon2 - lon1) * M_PI / 180;
double a = sin(dLat/2) * sin(dLat/2) + cos(lat1 * M_PI / 180) * cos(lat2 * M_PI / 180) * sin(dLon/2) * sin(dLon/2);
double c = 2 * atan2(sqrt(a), sqrt(1-a));
double distance = R * c;
return distance;
}
int main(int argc, const char * argv[]) {
@autoreleasepool {
double lat1 = 31.2304;
double lon1 = 121.4737;
double lat2 = 39.9042;
double lon2 = 116.4074;
double distance = distanceBetweenCoordinates(lat1, lon1, lat2, lon2);
NSLog(@"两个坐标之间的距离为:%.2f千米", distance);
}
return 0;
}
```
这段代码使用了 Haversine 公式来计算两个坐标之间的距离,其中 lat1 和 lon1 是第一个坐标的纬度和经度,lat2 和 lon2 是第二个坐标的纬度和经度。