6

重複の可能性:
アップロードされた iPhone の写真から正しい緯度と経度を取得するにはどうすればよいですか?

写真アプリを作成していますが、ジオタグ付きの写真を操作するためのオプションを知りたいです。写真が撮られた場所を表示したいと思います(写真アプリに似ています)。これは可能ですか?

さらに、写真がいつ撮影されたかを知る必要があります。自分で撮った写真についてはこの情報をキャプチャできますが、カメラ ロールの画像についてはどうでしょうか。

4

1 に答える 1

13

はい、可能です。

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];    
 }];

locこれで、変数に写真が撮影された場所の場所が含まれます。ALErrorInvalidProperty一部の写真にはこのデータが不足している可能性があるため、使用する前に確認する必要があります。

ALAssetPropertyDate写真作成日時の取得を指定できます。

于 2012-04-12T02:24:54.117 に答える