J'ai travaillé récemment sur une application basée sur la localisation et j'ai remarqué certaines valeurs étranges pour CLLocation. J'obtiens souvent un horizontalAccuracy
de 1414
et un verticalAccuracy
de -1
. Une idée de ce que cela indique ? D'après ce que je sais, ces points sont souvent très précis. Quelle est la différence entre verticalAccuracy et horizontalAccuracy ?
Réponse
Trop de publicités?Le -1 pour verticalAccuracy
indique que l'altitude dans le CLLocation
n'est pas valide. Vous n'obtenez l'altitude qu'avec une position GPS 3D.
Le 1414 pour horizontalAccuracy
indique que la position horizontale (lat/lon) pourrait être décalée de 1414m (il s'agit d'une erreur estimée). Il s'agit probablement d'un emplacement déterminé par la triangulation d'une tour cellulaire ou par des données de localisation WiFi. Les positions GPS indiquent généralement 100 m ou mieux.
Pour obtenir une localisation plus précise (300 m ou plus), vous devez définir les paramètres suivants desiredAccuracy
et attendez que le récepteur GPS se verrouille sur au moins 3 satellites (ou 4 pour une position 3D). Jusqu'à ce que cela se produise CLLocationManager
vous donnera ce qu'il a de mieux, à savoir les résultats de la triangulation des tours de téléphonie mobile ou du WiFi.