Sunt construirea unei aplicații care urmărește locația utilizatorului pe hartă. Pot insera un cod PIN ușor, dar atunci când locația este schimbat, aplicația se închide.
Am stabilit coordonatele implicite la 0,0 în viewdidload: metoda și am adăugat un cod PIN la acea locație. Am făcut acest lucru pentru că vreau să eliminați PIN-ul atunci când locația este actualizată și apoi introduceți PIN-ul nou pe locație nouă.
Aici este codul pe care l-am scris în - (void) locationManager: didUpdateToLocation: fromLocation: metoda.
[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];
Aici, myannotation este PIN-ul pe care doresc să adaug, newLocation este locația actualizată și CSMapAnnotation va reveni vedere adnotată.
Problema este aplicația mea se blochează de fiecare dată. Am fost capabil de a primi mesajul de avertizare de pe consola înainte de crashing. Aici este mesajul:
„O instanță 0x182020 de clasa CSMapAnnotation este deallocated în timp ce observatorii de valoare cheie sunt încă înregistrate cu ea. Info de observare este scurgeri, și poate chiar deveni greșit atașat la un alt obiect.“
Deci, plz ajutor în cazul în care cineva sa confruntat cu aceeași problemă ...













