0
我想要获得给定当前位置,方位和距离的GPS坐标。获取给定当前位置,方位和距离的GPS坐标
但我找不到任何与可可触摸有关的东西。
我发现这里Get lat/long given current point, distance and bearing
公式是否有适用于iOS更简单的方法?
在此先感谢。
我想要获得给定当前位置,方位和距离的GPS坐标。获取给定当前位置,方位和距离的GPS坐标
但我找不到任何与可可触摸有关的东西。
我发现这里Get lat/long given current point, distance and bearing
公式是否有适用于iOS更简单的方法?
在此先感谢。
将链接中的代码转换为Objective-C。
- (double)degreesToRadians:(double)degrees {
return degrees * M_PI/180;
}
- (double)radiansToDegrees:(double)radians {
return radians * 180/ M_PI;
}
- (CLLocationCoordinate2D)remoteCoordinate:(CLLocationCoordinate2D)localCoordinate withDistance:(double)distance withBearing:(double)bearing {
double earthRadius = 6378.1; // Radius of Earth in kilometres.
double rLat1 = [self degreesToRadians:localCoordinate.latitude]; // Convert latitude to radians
double rLon1 = [self degreesToRadians:localCoordinate.longitude]; // Convert longitude to radians
double rLat2 = asinl(sinl(rLat1) * cosl(distance/earthRadius) + cosl(rLat1) * sinl(distance/earthRadius) * cosl(bearing));
double rLon2 = rLon1 + atan2l(sinl(bearing) * sinl(distance/earthRadius) * cosl(rLat1), cosl(distance/earthRadius) - sinl(rLat1) * sinl(rLat2));
double dLat2 = [self radiansToDegrees:rLat2]; // Convert latitude to degrees
double dLon2 = [self radiansToDegrees:rLon2]; // Convert longuitude to degrees
return CLLocationCoordinate2DMake(dLat2, dLon2);
}
地球半径不是6378公里,它是6371公里 –
没有内置的方法。尝试[这个Objective-C实现](http://stackoverflow.com/questions/6633850/calculate-new-coordinate-x-meters-and-y-degree-away-from-one-coordinate)你链接的公式至。 – Anna