Stavím aplikaci, která sleduje polohu uživatele na mapě. Mohu vložit kolík snadno, ale pokud se změní místo, aplikace ukončí.
Nastavil jsem výchozí souřadnic na 0,0 v viewdidload: metoda a přidal jsem špendlík na tomto místě. Udělal jsem to proto, že chci, aby se odstranily čep, když je poloha aktualizuje a vložte kolík opět na novém místě.
Zde je kód, který jsem napsal v - (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];
Odtud myannotation je pin, které chci přidat, newLocation je aktualizovaná umístění a CSMapAnnotation vrátí pohled anotace.
Problém je v tom moje app havaruje pokaždé. Byl jsem schopen se dostat upozornění na konzole před shazovat. Zde je zpráva:
„Instance 0x182020 třídy CSMapAnnotation se uvolnit, zatímco pozorovatelé klíčové hodnoty jsou stále evidována u ní. Pozorování info je unikly, a může se dokonce stát chybně připojené k jiným předmětem.“
Takže, plz pomoci, pokud někdo čelí stejnému problému ...













