Buduję aplikację, która śledzi lokalizację użytkownika na mapie. Mogę wstawić kołek łatwo, ale gdy zostanie zmieniona lokalizacja, aplikacja zostanie zamknięta.
Mam zestaw współrzędnych domyślnych do 0,0 w viewDidLoad: metoda i dodałem szpilkę w tym miejscu. Zrobiłem to, ponieważ chcę, aby usunąć kołek gdy lokalizacja jest aktualizowana, a następnie włóż szpilkę ponownie na nowym miejscu.
Oto kod, który napisałem w - (void) locationManager: didUpdateToLocation: fromLocation: metody.
[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];
Tutaj myannotation jest kołek, który chcę dodać, newLocation jest aktualizowany lokalizacja i CSMapAnnotation powróci widoku opisu.
Problemem jest moja aplikacja wywala za każdym razem. Udało mi się dostać ostrzeżenie na konsoli przed upaść. Oto komunikat:
„Instancja 0x182020 klasy CSMapAnnotation jest zwalniane podczas kluczowych obserwatorzy wartości są jeszcze zarejestrowane niego. Informacji Obserwacja jest wyciekły, a nawet mogą stać się błędnie przypisane do jakiegoś innego obiektu.”
Więc plz jeśli ktoś ma do czynienia ten sam problem ...













