GPS ou triangulation lors de la configuration position de l'utilisateur sur la carte?

voix
1

Je suis la programmation d'une application utilisant le MapKit et le SDK 3.0. Tout fonctionne Allright sauf pour un détail. J'ai remarqué que lors de l'affichage du userlocation je reçois différentes positions de l'utilisateur sur la carte en fonction du réseau actuel. J'ai lu sur ce problème et à comprendre qu'il est courant? Dans mon réseau local sans fil est la position de l'utilisateur affiché correctement. Lorsque vous utilisez le réseau 3G (T-mobile) la position est à 100 mètres de ma position réelle. Je comprends cela a à voir avec le réseau téléphonique celluar par triangulation et WLAN est le point d'accès GPS ou WiFi utilisé. Donc, à ma question. Y at-il un moyen de contourner cela? Mon application montre les positions dans une ville et aussi la distance par rapport à ces positions. Il est très évident et aussi missleading si la position est fausse en raison des courtes distances. Est-il possible (en code) pour définir la méthode à utiliser pour obtenir la postion utilisateur? Je l'ai testé toutes les autres applications sur mon iPhone en utilisant des cartes et le problème semble être le même par tous. (Si quelqu'un veut tester mon application, il est dans l'App Store gratuitement sous car2go également d'autres commentaires sont bien sûr intéressantes) Merci à l'avance! -boucle-

Créé 25/08/2009 à 13:14
source utilisateur
Dans d'autres langues...                            


3 réponses

voix
1

Emplacement de base fournit des informations sur la précision verticale et horizontale de l'emplacement qu'il rapporte. Il faut utiliser cette précision pour signaler à l'utilisateur si l'emplacement est suspect. Google Maps fait en augmentant la taille du cercle bleu autour du marqueur de position. Il existe d'autres façons d'indiquer à l'utilisateur que l'emplacement est suspect, boîtes d'alerte, ne pas montrer l'emplacement si elle tombe en dehors d'une certaine précision prédéterminée, etc.

Voir: http://developer.apple.com/iphone/library/documentation/CoreLocation/Reference/CLLocation_Class/CLLocation/CLLocation.html#//apple_ref/occ/instp/CLLocation/horizontalAccuracy

Créé 25/08/2009 à 14:07
source utilisateur

voix
0

Peut-être que vous pouvez utiliser CoreLocation directement. CLLocationManagervous donne des CLLocationobjets que d' inclure leur exactitude. Si vous obtenez une précision inférieure à 50 mètres, il l'emplacement est venu probablement du GPS.

Créé 25/08/2009 à 13:59
source utilisateur

voix
0

Utilisez une autre source pour votre emplacement? unités GPS portables devraient faire l'affaire.

La vraie question est de savoir comment pouvez-vous corriger les données spécifiées par la triangulation 3G. Je me demande si vous pouvez faire une différence pour corriger les erreurs de localisation de la 3G.

1) Dans une ville donnée, calibrer les erreurs de localisation 3G en traçant la ville. Cela pourrait être corrigé par les réseaux 3G à tout moment, vous devriez avoir un moyen de vérifier et recalibrer.

2) Calibrer l'emplacement du réseau 3G en utilisant un emplacement connu - un emplacement 3G avec un emplacement GPS. Prenez cela comme un différentiel qui peut être appliqué à d'autres endroits 3G. Cela suppose une constante de décalage dans le calcul de triangulation qui est probablement pas la réalité.

3) Attendez que les réseaux 3G pour le réparer et ne rien faire dans l'intervalle.

4) Fournir le fournisseur de réseau 3G avec des informations d'erreur dans leur triangulation et voir si elle est une priorité pour eux.

Je ne peux pas penser à d'autres options viables ...

Créé 25/08/2009 à 13:24
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more