हां, यह संभव है।
आपको अपने कैमरा रोल तक पहुंचने के लिए 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
निर्दिष्ट कर सकते हैं।