Tengo una aplicación de servicio de ubicación, en la que se proporciona la elevación del usuario. Sin embargo, he descubierto que la precisión de elevación proporcionada por CLLocationManager es extremadamente inexacta. Cuando pruebo los mismos dos puntos dos veces, a veces la diferencia de elevación es de cuarenta pies y, a veces, es de cien. ¿Hay alguna forma de que pueda mejorar la precisión vertical de CLLocation, o hay una forma diferente de adquirir la elevación del usuario (bibliotecas de terceros)? Ya he intentado verificar la propiedad de precisión vertical de la nueva ubicación proporcionada por CLLocationManager y descartarla si no es suficiente, pero incluso cuando es lo suficientemente precisa, a menudo todavía no es precisa. ¡Gracias por tu tiempo!CL Precisión de elevación de la ubicación
En este momento estoy usando:
if([newLocation verticalAccuracy] < 30) {
if(isCustomary)
altitudeLabel.text = [NSString stringWithFormat:@"%.2f feet", ([newLocation altitude] * 3.2808399)];
else
altitudeLabel.text = [NSString stringWithFormat:@"%.2f meters", [newLocation altitude]];
}
Problemas con ese código: a menudo el verticalAccuracy nunca se pone por debajo de 30, y cuando lo hace, que todavía no está ni siquiera cerca de lo suficientemente precisa; He probado el código caminando por mi casa (una historia), y dice que la elevación cambia hasta diecinueve pies, y estoy seguro de que no es cierto.
Sí, esta parece ser la desafortunada verdad. +1 para una buena explicación y un buen enlace. –