Я создаю приложение, которое отслеживает местоположение пользователя на карте. Я могу легко вставить пин-код, но когда местоположение меняется, приложение закрывается.
Я установил координаты по умолчанию на 0,0 в viewdidload: метод, и я добавил пин-код в этом месте. Я сделал это, потому что хочу удалить булавку при обновлении местоположения, а затем снова вставить булавку в новое местоположение.
Вот код, который я написал в - (void) locationManager: didUpdateToLocation: fromLocation: метод.
[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];
Здесь myannotation - это пин, который я хочу добавить, newLocation - это обновленное местоположение, а CSMapAnnotation вернет представление аннотации.
Проблема в том, что мое приложение вылетает каждый раз. Я смог получить предупреждение на консоли перед сбоем. Вот сообщение:
"Экземпляр 0x182020 класса CSMapAnnotation освобождается, в то время как наблюдатели значения ключа все еще зарегистрированы в нем. Информация наблюдения просочилась и может даже ошибочно присоединиться к какому-либо другому объекту."
Итак, плз, помогите, если кто-нибудь сталкивался с такой же проблемой ...