2012-04-12 18 views
6

संभव डुप्लिकेट:
How Do I Get The Correct Latitude and Longitude From An Uploaded iPhone Photo?आईफोन आईओएस कैमरा मेटाडाटा और कैमरे रोल छवि से जियोटैगिंग जानकारी निकालने के लिए कैसे?

मैं एक तस्वीर एप्लिकेशन बना रही हूँ और पता करने के लिए जियोटैग किए गए फ़ोटो के साथ काम करने के लिए अपने विकल्प हैं क्या करना चाहते हैं। मैं प्रदर्शित करना चाहता हूं कि एक फोटो कहाँ लिया गया है (फ़ोटो ऐप के समान)। क्या यह संभव है?

इसके अतिरिक्त, मुझे यह जानने की जरूरत है कि तस्वीर कब ली गई है। मैं इस तस्वीर को उन तस्वीरों के लिए कैप्चर कर सकता हूं जो मैं खुद लेता हूं, लेकिन कैमरा रोल छवियों के बारे में क्या?

उत्तर

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 निर्दिष्ट कर सकते हैं।

संबंधित मुद्दे