我有跟踪用户移动的应用程序。我存储了所有相关的数据 lat/lng/alt 等。
我正在尝试像在runkeeper上一样添加高程,但没有图形我只需要获取高程值。
在我的 .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并且netElevationChange
是-182.53。
也许这很好,但也许我错过了什么我在这里做错了什么?