La création d'une nouvelle CLLocationCoordinate2D à la coutume de Latitude/Longitude
Je me sens mal pour demander cela car il semble être une chose si simple à obtenir accroché sur, mais j'ai regardé toutes les ressources pertinentes que je le pouvais, essayé de nombreuses combinaisons de solutions que j'ai vu d'autres de l'utiliser, et rien n'a fonctionné...
Je suis en train de parcourir certains XML que j'ai de recevoir et d'analyser la Latitude et la Longitude d'un système de coordonnées dans le fichier XML, et de le stocker dans un tableau à partir de laquelle je vais ensuite tracer.
Mon problème est que n'importe quel type que j'utilise, comment je l'ai jeté il, qu'avez-vous, xcode trouve TOUJOURS une sorte de problème avec elle.
Partie pertinente de mon .h fichier:
CLLocationCoordinate2D Coord;
CLLocationDegrees lat;
CLLocationDegrees lon;
@property (nonatomic, readwrite) CLLocationCoordinate2D Coord;
@property (nonatomic, readwrite) CLLocationDegrees lat;
@property (nonatomic, readwrite) CLLocationDegrees lon;
Partie pertinente de mon .m fichier:
else if ([elementName isEqualToString:@"Lat"]) {
checkpoint.lat = [[attributeDict objectForKey:@"degrees"] integerValue];
}
else if ([elementName isEqualToString:@"Lon"]) {
checkpoint.lon = [[attributeDict objectForKey:@"degrees"] integerValue];
}
else if ([elementName isEqualToString:@"Coord"]) {
checkpoint.Coord = [[CLLocation alloc] initWithLatitude:checkpoint.lat longitude:checkpoint.lon];
}
Le courant d'erreur que je reçois est: "l'Attribution de" CLLocationCoordinate2D de type incompatible "id". Je tient à dire que la valeur de retour de la fonction d'initialisation est incorrect, mais je n'ai aucune idée pourquoi, depuis sa un construit en fonction...
J'ai aussi essayé ce que ferait le plus de sens pour moi que j'ai vu quelqu'un d'autre pour le faire:
checkpoint.Coord = CLLocationCoordinate2DMake(checkpoint.lat, checkpoint.lon);
Tout en renvoie aucune immédiate des erreurs, quand j'essaie de compiler et de l'exécuter, il me donne:
Les symboles non définis pour l'architecture i386:
"_CLLocationCoordinate2DMake", référencé à partir de:
-[Parseur xml parser:didStartElement:namespaceURI:qualifiedName:attributs:] au point de contrôle.o
ld: symbole(s) ne se trouvent pas pour l'architecture i386
collect2: ld a retourné 1 code de sortie
Toute aide/clarification/coups de coude dans la bonne direction serait très apprécié, parce que je suis très d'idées à ce point.
- Ne jamais mal à l'aise pour poser de telles questions simples; c'est ce que nous sommes ici.
Vous devez vous connecter pour publier un commentaire.
Ce qui fait le plus de sens pour vous (CLLocationCoordinate2DMake) est correct. Vous avez juste oublié d'inclure le framework CoreLocation dans votre projet.
Et, comme d'autres l'ont souligné, vos lat/lon dans votre fichier ne sont probablement pas des entiers.
ce que j'ai fait:
tout d'abord créer un CLLocationCoordinate2D:
ma latitude et la longitude sont des types double.
dans votre Importations assurez-vous Mapkit bibliothèque est importé.
Cela devrait fonctionner.
essayez de changer
en
aussi
ne peut pas être correcte que vous avez défini Coord comme CLLocationCoordinate2D, qui est
ce que vous devez faire est: