Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 通过计算海拔上升的总英尺数得出奇怪的结果_Ios_Iphone_Core Location_Elevation - Fatal编程技术网

Ios 通过计算海拔上升的总英尺数得出奇怪的结果

Ios 通过计算海拔上升的总英尺数得出奇怪的结果,ios,iphone,core-location,elevation,Ios,Iphone,Core Location,Elevation,我正在计算用户行走时爬过的总英尺数。我正在使用下面的核心位置委托方法 我将oldelevation、newelevation和Totalelevation声明为int 第一次将当前高程点转换为旧高程点 - (void)locationUpdate:(CLLocation *)location { newelevation =[location altitude]; // Present Elevation if (newelevation > oldelevation) {

我正在计算用户行走时爬过的总英尺数。我正在使用下面的核心位置委托方法

我将oldelevation、newelevation和Totalelevation声明为int

第一次将当前高程点转换为旧高程点

- (void)locationUpdate:(CLLocation *)location
{
   newelevation =[location altitude]; //  Present Elevation

   if (newelevation > oldelevation) {

        TotalElevation = TotalElevation + newelevation - oldelevation;

       }

   oldelevation=newelevation;// Storing current elevation in old elevation.

}
最后,在步行结束时,我将Totalelevation乘以3.28084,得到了攀登的总英尺数

我正在将我的结果与Runtastic应用程序进行比较

我走了0.40英里,Runtastic的高度是16英尺,我的应用程序总爬了208英尺

我参考了以下链接,但这些链接没有给出准确的结果


在进行计算之前,应始终评估高度精度。如果高度无效,则属性verticalAccuracy返回负值

if (currentLocation.verticalAccuracy >= 0 && previewsLocation.verticalAccuracy >=0) {
   if (currentLocation.altitude > previewsLocation.altitude) {
      TotalElevation = TotalElevation + currentLocation.altitude - previewsLocation.altitude;
   }
}

你是在计算步行过程中爬上的总英尺数,还是从步行开始到结束的海拔增量?@Carlvaezey爬上的总英尺数和海拔增量有什么区别吗?你能帮我一下吗?如果你爬上一百英尺的山,然后再下来,你已经爬了100英尺,海拔上升了0英尺,对吗?@Carlvaezey是的,你是对的。我编辑了我的问题“我想要爬过的总英尺数”。我使用了上述条件,但没有效果。我得到了非常高的爬升英尺值。记住将oldelevation初始化为DBL_MAX。因此第一个位置是IgnoreDiges。我正在将当前高程点添加到旧高程点,因此将忽略第一个位置。