ユーザーの動きを追跡するアプリケーションがあります。そして、関連するすべてのデータlat/lng/altなどを保存します。標高値を取得するだけで必要なグラフィックなしで、ランキーパー
の
ように標高を追加しようとしています。
私の .h ファイルで:
@property (nonatomic) double netElevationLoss;
@property (nonatomic) double netElevationGain;
@property (nonatomic) double netElevationChange;
私の.mファイルでは:
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
double elevationChange = oldLocation.altitude - newLocation.altitude;
if (elevationChange < 0)
{
netElevationLoss += fabs(elevationChange);
}
else
{
netElevationGain += elevationChange;
}
netElevationChange = netElevationGain - netElevationLoss;
...
これが正しい計算方法かどうかはわかりません。
私はそれをテストしましたが、altはたとえば182.53で、-182.53です。
たぶんそれは良いことですが、ここで何が間違っていたのか分かりませんか?netElevationChange