Ich baue eine Anwendung, die Benutzer-Standort auf der Karte verfolgt. Ich kann einen Stift leicht einfügen, aber wenn die Position geändert wird, beendet die App.
Verfahren, und ich habe einen Stift an dieser Stelle hinzugefügt: Ich habe die Standardkoordinaten auf 0,0 in viewDidLoad eingestellt. Ich habe dies getan, weil ich den Stift entfernen möge, wenn Standort aktualisiert wird, und dann den Stift einer wieder auf neue Position.
Hier ist der Code, den ich geschrieben habe in - (void) Locationmanager: didUpdateToLocation: fromLocation: Methode.
[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];
Hier myannotation ist der Stift, den ich hinzufügen möchte, ist newLocation die aktualisierte Position und CSMapAnnotation wird Anmerkungsansicht zurückzukehren.
Das Problem ist meine app stürzt jedes Mal. Ich konnte Warnmeldung auf der Konsole bekommen vor dem Absturz. Hier ist die Botschaft:
„Eine Instanz der Klasse 0x182020 CSMapAnnotation wird freigegeben, während Schlüsselwert Beobachter noch mit ihm registriert sind. Observation Informationen durchgesickert werden, und kann sogar fälschlicherweise zu einem anderen Objekt angebracht werden.“
Also, plz helfen, wenn jemand das gleiche Problem konfrontiert ...













