Quelqu'un at-il des suggestions sur la façon d'obtenir la meilleure précision horizontale sur le gestionnaire de l'emplacement? J'ai réglé la précision désirée sur NearestTenMeters, mais étant donné que la précision peut toujours changer en fonction de la zone de couverture, comment puis-je écrire du code dans locationManager pour arrêter la mise à jour seulement après avoir obtenu la meilleure précision horizontale?CLLocationManager assurer la meilleure précision pour l'iphone
Répondre
En règle générale, plus le matériel est long et plus le nombre d'emplacements est élevé, plus il est précis. Vous pouvez essayer d'activer le gestionnaire tôt pour le rendre précis, puis saisir l'emplacement. Cela aide également lorsque la cible est en mouvement, la puce est capable d'obtenir des lectures plus précises lorsque le GPS se déplace. Aussi l'emplacement de l'appareil fait une différence, vous obtiendrez de bien meilleures lectures si vous êtes à l'extérieur sur un terrain que si vous êtes dans un bunker, donc parfois la lecture que vous obtenez est la meilleure disponible. Votre code peut attendre jusqu'à ce qu'il ne reçoive plus de mises à jour du gestionnaire de position pendant un certain temps, puis il est probablement à son meilleur niveau de précision.
Si vous voulez qu'il soit à une certaine précision, définir la méthode de délégué
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
avoir
if(newLocation.horizontalAccuracy <= (some number))
[locationManager stopUpdatingLocation];
quelque chose comme ça.