Velocidade de medição via iPhone SDK
Eu preciso implementar um aplicativo nativo do iPhone para medir a velocidade do telefone (basicamente um velocímetro). Eu sei que você pode fazê-lo através da API CoreLocation com bastante facilidade, mas eu estou preocupado com o consumo de bateria, uma vez que esta é uma medição em tempo real que pode ser usada por até duas horas por vez. Meu entendimento é que, enquanto você está monitorando ativamente os eventos do LocationManager (mesmo que eu não me importe com a localização do GPS), é um uso intensivo da bateria.
A outra opção óbvia a ser explorada seria usar os acelerômetros para tentar calcular a velocidade, mas não há nada na API para ajudá-lo a fazer isso. Baseado em minha pesquisa, deveria ser possível fazer isto, mas parece extremamente complicado e propenso a erros. Traduzir de aceleração para velocidade pode ser complicado para começar, e os dados do acelerômetro do iPhone podem ser "barulhentos". Estou familiarizado com o exemplo do SDK que demonstra o uso de filtragem de baixa / alta freqüência etc. - mas não vi um bom exemplo em qualquer lugar que mostre a velocidade de cálculo.
Alguém tem alguma experiência real com isso, eles podem compartilhar? Código seria fantástico, mas na verdade eu só quero saber se alguém fez isso com sucesso (para um aplicativo de longa duração) e qual abordagem eles tomaram.
EDITAR: Eu tenho um protótipo funcional que usa a API do LocationManager. Funciona bem, mas o ciclo de atualização está longe de ser ideal para uma medição em tempo real da velocidade. Dependendo das circunstâncias, pode levar de 4 a 5 segundos para atualizar. Cruzeiro a uma determinada velocidade tende a funcionar bem, mas a aceleração / desaceleração tende a atrasar muito do ponto de vista da interação do usuário. Além disso, eu preciso alimentar a velocidade em alguns outros cálculos que estou fazendo e a precisão não é realmente o que eu preciso.
Parece possível com base em (muito poucos) outros aplicativos que eu vi, principalmentegMeter que afirma não fazer uso de GPS, mas calcula a velocidade com precisão. Estou realmente surpreso por não haver referências ou códigos de exemplo que demonstrem isso em qualquer lugar que eu possa encontrar. Eu percebo que é complexo, mas certamente há algo lá fora.