Como posso determinar se as informações de localização retornado por CLLocationManager é válido?

StackOverflow https://stackoverflow.com/questions/465494

Pergunta

Como posso determinar se as informações de localização retornado por CLLocationManager é válido?

Foi útil?

Solução

Duas coisas que procurar, a hora eo HDOP (Horizontal grau de precisão). O primeiro irá dizer-lhe quando a leitura foi tomada, o segundo irá dizer-lhe o nível de erro na leitura. Por exemplo, um HDOP de 1000 irá dizer-lhe que a medida é uma precisão de 1000 metros. Obviamente, quanto menor o HDOP melhor.

Eles estão ambos na atualização Core Location você começa.

Outras dicas

Você não pode estar absolutamente certo. Você vai ter melhor idéia do telefone de onde ele é, e você pode acreditar ou não, mas você não pode facilmente verificar esse local.

Uma coisa que pode ajudar alguns é verificar o timestamp os locais que você começa. Core Location irá armazenar em cache de dados, eo primeiro resultado que você recebe pode ser uma leitura muito antiga. Se o telefone mudou em tudo o que pode ser impreciso. Por outro lado ele ainda pode ser correto, e você realmente não pode ter certeza até que novos resultados vêm em. No entanto, é frequentemente útil para jogar fora todos os dados de Core Location, onde a hora é de antes de sua aplicação começou up-- que poderia ser bons dados, mas há uma chance decente que não é. leituras posteriores será novo e são tão confiável quanto o telefone pode torná-los.

Além disso, se a precisão horizontal for negativo, então a latitude e longitude são inválidos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top