Je construis une application qui permet de suivre l'emplacement de l'utilisateur sur la carte. Je peux insérer une broche facilement, mais lorsque l'emplacement est modifié, l'application se ferme.
Je définir 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 retirer la broche lorsque l'emplacement est mis à jour puis insérez la broche à nouveau nouvel emplacement.
Voici le code que je l'ai écrit dans - (void) LocationManager: didUpdateToLocation: fromLocation: méthode.
[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 mon application plante à chaque fois. Je suis en mesure d'obtenir un message d'avertissement sur la console avant de s'écraser. Voici le message:
« Une instance 0x182020 de CSMapAnnotation de classe est désallouée tandis que les observateurs de valeurs-clés sont toujours enregistrées avec elle. L'observation est d'info qu'on laisse couler, et peut même devenir à tort attaché à un autre objet. »
Donc, plz aider si quelqu'un a dû faire face au même problème ...













