2010-08-02 12 views
0

Je dois détecter un petit changement d'emplacement pour l'iphone, j'ai essayé l'échantillon appelé Me localiser, mais il ne reconnaît pas le petit changement dans l'emplacement. Y a-t-il un moyen de le faire?Petite détection de changement d'emplacement

Merci à l'avance.

Meilleures salutations John

+0

La précision GPS n'est pas si précise - pourriez-vous utiliser l'accéléromètre à la place? – Justin

+0

Quelle précision voulez-vous? Le GPS fait un bon travail en localisant un utilisateur lorsque la précision de localisation est réglée au mieux. –

+0

@Justin, comment pourrais-je utiliser l'accéléromètre pour déterminer la distance? –

Répondre

0

Quelle est la taille du changement que vous attendiez?

Peut-être que vous devriez définir la précision à son maximum et calculer le déplacement sur la méthode du délégué.

Configurez le gestionnaire de position pour qu'il soit le meilleur possible.


    [locationManager setDesiredAccuracy:kCLLocationAccuracyBest]; 
    [locationManager setDistanceFilter:0.0]; 

Et puis sur la méthode déléguée:


- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation { 
    // Calculate the distance between the two locations 
    CGFloat distance = [newLocation distanceFromLocation:oldLocation]; 

    if (distance >= MIN_DISPLACEMENT) { 
     // Do something 
    } else { 
     // Do something 
    } 
} 

Pour obtenir des données plus précises à partir du gestionnaire d'emplacement, définissez les clés appropriées pour UIRequiredDeviceCapabilities (location-services, GPS) sur le Info.plist.

+0

J'ai essayé cette solution, mais j'ai besoin de la distance à mettre à jour en temps réel, le GPS nécessite du temps pour obtenir la distance parcourue qui ne convient pas dans mon application. –

+0

@John, si vous avez besoin de mises à jour en temps réel, vous devrez utiliser l'accéléromètre ou (sur iOS4) http://developer.apple.com/iphone/library/documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/MotionEvents/MotionEvents. html # // apple_ref/doc/uid/TP40009541-CH4-SW26 – vfn