Je suis en train de créer une application qui permet de suivre l'emplacement de l'utilisateur sur la carte. Je peux facilement insérer une épingle, mais lorsque l'emplacement est modifié, l'application se ferme.Problème lors du déplacement de MKPinAnnotation sur la carte iPhone
J'ai mis les coordonnées par défaut à 0,0 dans viewdidload: méthode et j'ai ajouté une broche à cet endroit. Je l'ai fait parce que je veux enlever la broche quand l'emplacement est mis à jour, puis insérez la broche à nouveau sur le nouvel emplacement.
Voici le code dans lequel j'ai écrit - (void) locationManager: didUpdateToLocation: fromLocation: method.
[mapview removeAnnotation:myannotation];
CLLocationCoordinate2D currentlocation;
currentlocation.latitude=newLocation.coordinate.latitude;
currentlocation.longitude=newLocation.coordinate.longitude;
myannotation=[[[CSMapAnnotation alloc]initWithCoordinate:currentlocation annotationType:CSMapAnnotationTypeStart title:@"My Location"] autorelease];
[mapview addAnnotation:myannotation];
Ici, myannotation est la broche que je veux ajouter, newLocation est l'emplacement mis à jour et CSMapAnnotation retournera vue d'annotation.
Le problème est que mon application se bloque à chaque fois. J'ai été en mesure d'obtenir un message d'avertissement sur la console avant de s'écraser. Voici le message:
"Une instance 0x182020 de la classe CSMapAnnotation est désaffectée alors que des observateurs de valeur clé y sont encore enregistrés L'observation est en cours de fuite, et peut même être attachée par erreur à un autre objet."
Ainsi, plz aider si quelqu'un a dû faire face au même problème ...
thanx Ramin et Daniel ... J'ai fait ce que vous avez dit et maintenant il fonctionne heureusement ...! Je ne connaissais tout simplement pas la classe MKUserLocation. J'ai ajouté 3 lignes de code et il a résolu tous les problèmes. MKUserLocation * ulocation = [[MKUserLocation alloc] init]; [mapview setShowsUserLocation: TRUE]; [mapview addAnnotation: ulocation]; Merci à vous les gars et ce super site Web .. – Napster
0, 0 n'est pas Greenwich, en Angleterre. Le premier méridien voyage à travers Greenwich, mais la latitude de zéro se déplace le long de l'équateur. 0, 0 est quelque part au milieu de l'océan. –