iPhone的iOS如何从相机胶卷图像提取照片元数据和地理标签信息?

可能重复:
如何从上传的iPhone照片获取正确的经纬度?

我正在制作一个照片应用程序,并想知道使用地理标记照片的选项是什么。 我想显示照片的拍摄地点(类似于照片应用程序)。 这可能吗?

此外, 我需要知道什么时候拍摄照片 。 我可以捕捉到我拍摄的照片的相关信息,但相机胶卷图像呢?

对的,这是可能的。

您必须使用ALAssetsLibrary来访问您的相机胶卷。 然后,你只是通过你的照片列举并要求位置。

 assetsLibrary = [[ALAssetsLibrary alloc] init]; groups = [NSMutableArray array]; [assetsLibrary enumerateGroupsWithTypes:ALAssetsGroupSavedPhotos usingBlock:^(ALAssetsGroup *group, BOOL *stop) { if (group == nil) { return; } [groups addObject:group]; } failureBlock:^(NSError *error) { // Possibly, Location Services are disabled for your application or system-wide. You should notify user to turn Location Services on. With Location Services disabled you can't access media library for security reasons. }]; 

这将枚举您的资产组。 接下来,你挑选一个组并枚举它的资产。

 ALAssetGroup *group = [groups objectAtIndex:0]; [group enumerateAssetsUsingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop) { if (result == nil) { return; } // Trying to retreive location data from image CLLocation *loc = [result valueForProperty:ALAssetPropertyLocation]; }]; 

现在你的locvariables包含照片拍摄地点的位置。 您应该在使用之前检查它与ALErrorInvalidProperty ,因为一些照片可能缺less这些数据。

您可以指定ALAssetPropertyDate以获取照片创build的date和时间。