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 回答