Problem i å flytte MKPinAnnotation på iPhone kartet

stemmer
3

Jeg bygger en app som sporer bruker plassering på kartet. Jeg kan sette inn en pin lett, men når plasseringen endres, avsluttes programmet.

Jeg har satt standard koordinatene til 0,0 i viewDidLoad: metode og jeg har lagt en tapp på det stedet. Jeg har gjort dette fordi jeg ønsker å fjerne pinnen når stedet er oppdatert og deretter sette pinnen igjen på nytt sted.

Her er koden som jeg har skrevet i - (void) locationManager: didUpdateToLocation: fromLocation: metode.

 [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];  

Her er myannotation pinnen som jeg vil legge til, er newLocation den oppdaterte beliggenhet og CSMapAnnotation vil returnere merknad visning.

Problemet er min app krasjer hver gang. Jeg var i stand til å få advarsel på konsollen før krasj. Her er meldingen:

En forekomst 0x182020 av klasse CSMapAnnotation blir deallocated mens sentrale verdi observatører er fortsatt registrert med det. Observasjon info blir lekket, og kan selv bli feilaktig knyttet til et annet objekt.

Så plz hjelpe hvis noen har møtt det samme problemet ...

Publisert på 10/08/2009 klokken 11:00
kilden bruker
På andre språk...                            


3 svar

stemmer
1

Et par ting å se opp for:

  • MKMapView har allerede en showsUserLocationegenskap som sporer brukerens posisjon for deg med pulserende blå prikk ting. Hvis du ønsker å separat satt en nål på det stedet, kan du få userLocationattributtet fra mapview.

  • Krasj bug kan være på grunn av autoreleasesamtalen. Enkleste måten å fikse det er å lage myannotationen eiendom med et retainattributt, ta deretter ut autoutgivelses og i stedet for myannotationbruk self.myannotation.

  • egentlig ikke klart hva du mener med å sette "default koordinater til 0, 0." Hvis disse er lat / lengter så du sette en pinne i Greenwich, England :-) Du egentlig ikke trenger å stadig legge til og fjerne merknader. Du kan legge dem en gang da justere sin posisjon som trengs.

Svarte 10/08/2009 kl. 18:53
kilden bruker

stemmer
0

Jeg opplevde akkurat det samme problemet, og det hadde noe å gjøre med koordinatene til merknader. Jeg var allerede ignorerer 0,0, men for noen grunn Brukerne ble innrykker -180, -180 (kanskje fra en enhet der vi ikke kunne bestemme plasseringen?)

anyways - så snart jeg begynte å ignorere -180, -180 problemet gikk bort. håper dette hjelper.

Svarte 07/05/2011 kl. 00:40
kilden bruker

stemmer
0

Jeg tenker det er ikke fornøyd med din autoutgivelses tag for myannotation, når du legger merknaden til kartet kan det ikke være å bli beholdt, og da er det bare deallokerer og krasj, dvs hva jeg kan tenke deg fra å se på koden du postet. Håper det hjelper

Svarte 10/08/2009 kl. 13:21
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more