iPhone SDK: Emplacement de la piste des utilisateurs en utilisant le GPS

voix
2

J'ai quelques questions sur CoreLocation et GPS.

Tout d'abord, quelle méthode de localisation de base est utilisé pour obtenir en permanence les utilisateurs de coordonnées actuelles? Et à quel intervalle devraient-elles être récupérées?

D'autre part, si ces coordonnées sont poussés dans un NSMutableArray chaque fois qu'ils sont reçus, de sorte que le tableau de coordonnées représentera le chemin des utilisateurs?

Merci, tout simplement vouloir commencer me faire esprit autour de ce sujet.

Créé 19/05/2010 à 15:15
source utilisateur
Dans d'autres langues...                            


4 réponses

voix
11

Une version très abrégée:

Tout d' abord, adopter le <CLLocationManagerDelegate>protocole dans votre .h, et #import <CoreLocation/CoreLocation.h>.

Puis, en aller .m:

- (void)viewDidLoad {
    locationManager = [[CLLocationManager alloc] init];
    locationManager.delegate = self;
    locationManager.desiredAccuracy = kCLLocationAccuracyBest;
    [locationManager startUpdatingLocation];
}


-(void)locationManager:(CLLocationManager *)manager
   didUpdateToLocation:(CLLocation *)newLocation
          fromLocation:(CLLocation *)oldLocation
{
    CLLocationCoordinate2D here =  newLocation.coordinate;
    NSLog(@"%f  %f ", here.latitude, here.longitude);
}

Votre -(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocationméthode se pingué chaque fois Core Location a quelque chose à vous dire, ce qui devrait se produire toutes les quelques secondes. ces objets contiennent CLLocation plus sur la précision, afin que vous puissiez dépister les bons points dans cette méthode.

Assurez - vous d'appeler [locationManager stopUpdatingLocation]puis [locationManager release]à un moment donné!

Bonne chance de vous retrouver!

Créé 19/05/2010 à 16:27
source utilisateur

voix
1

Vous devrez effectuer les opérations suivantes:

  1. Si l'appareil ne peut pas accéder à Internet
    1. Obtenez les coordonnées de GPS
    2. Envoyer ces coordonnées par SMS
    3. Recevoir et décoder un message SMS à la passerelle SMS vous devez configurer pour recevoir des informations de l'appareil.
    4. Mettre à jour les informations sur la base de données d'application ou tout autre magasin que vous utilisez
    5. Mettre à jour la position sur la carte avec les dernières informations
  2. Si l'appareil peut accéder à Internet
    1. Obtenez les coordonnées de GPS
    2. Se connecter au serveur d'applications (peut être un service) et télécharger des informations
    3. Mettre à jour les informations sur la base de données d'application ou tout autre magasin que vous utilisez
    4. Mettre à jour la position sur la carte avec les dernières informations
Créé 30/08/2012 à 14:02
source utilisateur

voix
1

Vous êtes en mesure de définir quelle gamme est acceptable pour la précision, ainsi que la façon dont vous souhaitez souvent recevoir des mises à jour automatiques (basé sur une distance de mécanisme de dernier points). Vous pouvez aussi désactiver le gestionnaire de l'emplacement et le rallumer à volonté à travers une utilisation d'une minuterie.

En ce qui concerne l'enregistrement des endroits pour construire un chemin, ce ne est pas aussi simple que cela. Vous obtiendrez en permanence des emplacements GPS au début jusqu'à ce que la précision désirée soit atteinte, et pour tous les points dans l'avenir, vous pouvez obtenir plus d'un qui est inexact avant d'obtenir un bon emplacement. Ainsi, une construction liste de ces points sera essentiellement juste une liste de leur chemin, avec beaucoup de points supplémentaires. Vous pouvez résoudre ce problème en enregistrant uniquement les points qui ont la précision que vous désirez, mais son un monde imparfait à cet égard.

Le meilleur des cas, je vous suggère de garder deux listes, l'une est le chemin et l'autre est une liste courante des endroits où vous comparez jusqu'à ce que vous obtenez un endroit très précis, mettant alors que sur votre liste de chemin. Certains des exemples de projets font des choses le long de ces lignes, ne les vérifier.

Créé 19/05/2010 à 16:15
source utilisateur

voix
1

La meilleure façon de lire est le CLLocationManager Référence de la classe , qui relie plusieurs exemples de projets. La version courte:

  1. Définissez la delegatepropriété à une classe qui recevra des mises à jour de localisation.
  2. Mettre en oeuvre le CLLocationManagerDelegateprotocole du délégué.
  3. Appelez les méthodes pour commencer l'emplacement approprié est utilisé la mise à jour et / ou cap.
Créé 19/05/2010 à 15:24
source utilisateur

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