我想从照片中提取GPS坐标.我做了一些研究,我知道UI Image不包含所有元数据,所以我尝试使用AssetsLibrary框架.
在dIDFinishPickingMediawithInfo中我使用以下代码来提取照片位置:
var referenceURL : NSURL = info.objectForKey(UIImagePickerControllerReferenceURL) as NSURL var library : ALAssetsLibrary = ALAssetsLibrary() library.assetForURL(referenceURL,resultBlock: { (asset : ALAsset!) -> VoID in var rep : ALAssetRepresentation = asset.defaultRepresentation() var Metadata : NSDictionary = rep.Metadata() let location: AnyObject! = asset.valueForProperty(ALAssetPropertyLocation) if location != nil { println(location) } else { println("Location not found") } }) { (error : NSError!) -> VoID in }
但是,它找不到位置,即使我检查了图像并且它包含EXIF元数据(它还包含我感兴趣的GPS位置).如何从照片中检索坐标?
解决方法 在iOS 10中不推荐使用ALAssetsLibrary.幸运的是,使用Photos框架,这很容易实现.当调用imagePickerController(_ picker:,dIDFinishPickingMediawithInfo)时,您可以通过简单的查找来检索位置信息.看看下面的代码:func imagePickerController(_ picker: UIImagePickerController,dIDFinishPickingMediawithInfo info: [String : Any]) { if let URL = info[UIImagePickerControllerReferenceURL] as? URL { let opts = PHFetchOptions() opts.fetchlimit = 1 let assets = PHAsset.fetchAssets(withALAssetURLs: [URL],options: opts) let asset = assets[0] // The location is "asset.location",as a CLLocation // ... Other stuff like dismiss omitted}
希望这可以帮助.这是Swift 3,当然..
总结以上是内存溢出为你收集整理的ios – 从照片中提取GPS数据全部内容,希望文章能够帮你解决ios – 从照片中提取GPS数据所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)