0
現在の位置、方位、距離を考慮してGPS座標を取得しようとしています。現在の位置、方位、距離を指定してGPS座標を取得します。
しかし、私はココアタッチに関連するものは見つかりませんでした。
私は、iOSのためのより容易な方法があり、ここでGet lat/long given current point, distance and bearing
式見つけましたか?
ありがとうございます。
現在の位置、方位、距離を考慮してGPS座標を取得しようとしています。現在の位置、方位、距離を指定してGPS座標を取得します。
しかし、私はココアタッチに関連するものは見つかりませんでした。
私は、iOSのためのより容易な方法があり、ここでGet lat/long given current point, distance and bearing
式見つけましたか?
ありがとうございます。
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 kmではなく、6371 kmです –
組み込みの方法はありません。あなたがリンクしている数式の[このObjective-C実装](http://stackoverflow.com/questions/6633850/calculate-new-coordinate-x-meters-and-y-degree-away-from-one-coordinate)を試してみてくださいに。 – Anna