2010-12-22 3 views
1

アプリケーションを終了するときに注釈を保存し、アプリケーションを起動したときに再びポップアップを表示するにはどうすればいいですか?何か案は?ユーザーがアプリケーションを終了したときにMapKitに注釈を格納する

-(IBAction)storeLocation:(id)sender{ 

    SparaPosition *position=[[SparaPosition alloc] initWithCoordinate:location]; 
    [mapView addAnnotation:position]; 
    savedPosition = location; 

お願いします。
ありがとうございます!

答えて

2

注釈の座標を1つだけ保存する場合は、最も簡単な方法はNSUserDefaultsです。

保存するには:

NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; 
[ud setDouble:location.latitude forKey:@"savedCoordinate-latitude"]; 
[ud setDouble:location.longitude forKey:@"savedCoordinate-longitude"]; 
[ud setBool:YES forKey:@"savedCoordinate-exists"]; 
[ud synchronize]; 

は、(たとえばのviewDidLoadで)ロードするには:

NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; 
if ([ud boolForKey:@"savedCoordinate-exists"]) 
{ 
    CLLocationCoordinate2D savedCoordinate; 
    savedCoordinate.latitude = [ud doubleForKey:@"savedCoordinate-latitude"]; 
    savedCoordinate.longitude = [ud doubleForKey:@"savedCoordinate-longitude"]; 
    //create annotation object using savedCoordinate and add to map view... 
} 
+0

を私は新しいオブジェクトを作成するにはどうすればよいですか?私は.hファイルで何かをする必要がありますか? – Krismutt

+1

'store'の代わりに' savedCoordinate'を使う以外は、 'storeLocation'で作成するのと同じ方法です。ありがとう。 – Anna

+0

私が既に起動時にアノテーションを持っている場合は、http://stackoverflow.com/questions/4473958/adding-and-sending-coordinates-from-application-to-mapsで述べたように「doMapCentering」を無効にするにはどうすればよいですか? -app ??? – Krismutt

関連する問題