0

したがって、私のアプリでは、ユーザーは地図上にピンをドロップします。私が知らないのは、アプリにピンを保存する方法です。そのため、ユーザーがアプリを再度開いて mapView に移動すると、アプリが最後に開いたときにマップにドロップされたピンがまだ上にあります。地図。誰かが私がこれについてどうすればよいか知っていますか?

4

1 に答える 1

1

そのピンから座標を取得したことをお勧めします。最初にそれらを NSMutableArray に保存できます。終了したら、この配列を次のように NSKeyedArchive に保存できます

NSMutableData *data         = [[NSMutableData alloc]init];
NSKeyedArchiver *archiver   = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];

[archiver encodeObject:pinArray forKey:@"PinArray"];
[archiver finishEncoding];
[data writeToFile:archivePath atomically:YES];

BOOL success = [NSKeyedArchiver archiveRootObject:pinArray toFile:archivePath];

アプリを起動すると、次のアーカイブを読むことができます。

if ([[NSFileManager defaultManager] fileExistsAtPath:archivePath]) {


    NSData *data = [NSData dataWithContentsOfFile:archivePath];

    NSMutableArray *pinCollection = [[NSMutableArray alloc] init];

    if (data){
        pinCollection = [NSKeyedUnarchiver unarchiveObjectWithData:data];
    }
    else pinCollection = nil;

    return pinCollection;

}

保存された座標に従って、マップ上にピンを配置します。

于 2012-12-15T11:19:20.977 に答える