Estoy construyendo una aplicación que rastrea la ubicación del usuario en el mapa. Puedo insertar un marcador fácilmente, pero cuando se cambia la ubicación, la aplicación se cierra.
Establecí las coordenadas predeterminadas en 0,0 en viewdidload: method y agregué un pin en esa ubicación. Lo he hecho porque quiero quitar el pin cuando la ubicación se actualiza y luego volver a insertar el pin en la nueva ubicación.
Aquí está el código que he escrito en - (void) locationManager: didUpdateToLocation: fromLocation: method.
[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];
Aquí, myannotation es el pin que quiero agregar, newLocation es la ubicación actualizada y CSMapAnnotation devolverá la vista de anotación.
El problema es que mi aplicación falla cada vez. Pude recibir un mensaje de advertencia en la consola antes de colgar. Aquí está el mensaje:
Una instancia 0x182020 de la clase CSMapAnnotation está siendo desasignada, mientras que los observadores de valores clave todavía están registrados con ella. La información de observación se está filtrando, e incluso puede estar unida erróneamente a algún otro objeto.
Así que, por favor ayuda si alguien ha enfrentado el mismo problema ...













