intérieur sur un iPhone 4. WiFi désactivéVérifier l'âge de l'emplacement de l'utilisateur dans Mapkit - La précision GPS pour MapKit User Location est-elle nettement meilleure que celle de CLLocationManager?
Exécution de l'exemple SDK LocateMe ou mon propre code pendant 30-60 secondes produit une précision horizontale de 2294 mètres. Assez inexact mais raisonnable pour la triangulation de la tour de téléphonie cellulaire. En regardant d'autres applications qui font du géocodage inverse ou des trucs de localisation comme Foursquare montre un manque d'exactitude similaire. Cependant, si je passe à une autre vue de mon application qui utilise Mapkit et vérifie/affiche l'emplacement de l'utilisateur, il est sur place. Je veux dire au niveau de la maison précise sur la carte que je voudrais associer avec l'emplacement de niveau WiFi ou une lecture GPS forte.
J'ai donc pensé que Mapkit s'appuyait probablement sur une lecture d'emplacement en mémoire cache qui était dérivée lorsque le WiFi était activé sur mon appareil. J'ai désactivé les services de localisation dans les paramètres. Redémarré l'application Carte a déplacé la carte de mon emplacement actuel. Quitter les services de localisation réactivés. Ouvrez l'application Map à nouveau - bingo en arrière avec l'emplacement fort lu. Pour autant que je sache, le service de localisation est un singleton au niveau du système, ce qui signifie que les mêmes données sont partagées avec MapKit comme avec mon instance de CLLocationManager. La seule chose que je peux penser est que l'emplacement est mis en cache plus libéralement sur MapKit et que la désactivation des services de localisation n'efface pas son cache même lorsque map.app est démarré.
Quelqu'un est-il au courant d'un moyen de vérifier l'âge de l'emplacement de l'utilisateur dans MapKit? Je voudrais enquêter plus loin et même si c'est un appel non documenté ou une propriété que je ne peux pas expédier avec j'aimerais vraiment l'utiliser pour le débogage pour comprendre ce qui se passe.
Merci