-Résolu- récupération de la longitude sur core location
Bonjour,
J'ai une petite question je suis un peu nouveau dans la programmation cocoa et la réponse est surement très simple.
J'utilise CoreLocation avec un petit exemple téléchargé du site. Je voudrais savoir comment l'on récupère la donnée latitude ou longitude de l'API
la variable update contient bien la longitude et latitude mais de facon textuelle avec des joli petit signe et autre pour être affiché. Par contre moi je veux récuper la donnée pure de latitude sous forme décimale mais comment faire ?
j'ai utilisé
myUrl = [myUrl stringWithFormat:@%d,newLocation.coordinate.latitude];
mais c'est pas correct... j'ai pas bien compris dans ce code ou se cachent ces données pures et comment les extraire ?
J'ai une petite question je suis un peu nouveau dans la programmation cocoa et la réponse est surement très simple.
J'utilise CoreLocation avec un petit exemple téléchargé du site. Je voudrais savoir comment l'on récupère la donnée latitude ou longitude de l'API
// CoreLocation returns positive for North & East, negative for South & West<br /> [update appendFormat:LocStr(@"LatLongFormat"), // This format takes 4 args: 2 pairs of the form coordinate + compass direction<br /> fabs(newLocation.coordinate.latitude), signbit(newLocation.coordinate.latitude) ? LocStr(@"South") : LocStr(@"North"),<br /> fabs(newLocation.coordinate.longitude), signbit(newLocation.coordinate.longitude) ? LocStr(@"West") : LocStr(@"East")];<br /> myUrl = [myUrl stringWithFormat:@"%d",newLocation.coordinate.latitude];<br /> <br /> [update appendString:@"\n"];<br /> [update appendFormat:LocStr(@"MeterAccuracyFormat"), newLocation.horizontalAccuracy];
la variable update contient bien la longitude et latitude mais de facon textuelle avec des joli petit signe et autre pour être affiché. Par contre moi je veux récuper la donnée pure de latitude sous forme décimale mais comment faire ?
j'ai utilisé
myUrl = [myUrl stringWithFormat:@%d,newLocation.coordinate.latitude];
mais c'est pas correct... j'ai pas bien compris dans ce code ou se cachent ces données pures et comment les extraire ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Je crois qu'il aime pas la conversion. Il me dit NString may not respond to stringWithFormat...
ca marche si tu fais [NSString stringWithFormat:...] ca devrait marcher ou aussi [[NSString alloc] initWithFormat:...] .
Explications (si besoin):
stringWithFormat est une méthode de classe (définie avec un "+", pas un "-"), donc l'appel de la méthode doit se faire sur la classe (ici NSString), pas sur un objet (myUrl).
En fait maintenant j'obtiens un chiffre -922765134 mais c'est pas vraiment normal théoriquement ça devrait être un nombre a virgule !
%d pour un entier (int ou long)
%f pour un flottant (double ou float)
%c pour un charactere (char)
Ici, je pense que newlocation.coordinate.latitude correspond à un flottant (float ou double - je pencherais plutot pour float) donc pour l'afficher, il faut que tu utilises %f : [NSString stringWithFormat:@%f,newLocation.coordinate.latitude]
Si tu utilises %d, il va interpréter le contenu de la variable newLocation.coordinate.latitude comme etant un entier et donc, ca donnera n'importe quoi.