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