如何从iPhone中的照片获取位置数据?

时间:2015-10-09 04:51:41

标签: ios swift frameworks photos

我在使用PHPhotoLibrary从iPhone中的照片中提取位置数据时遇到问题。谁能教我怎么样?
是否类似于使用ALAssetsLibrary如何做同样的事情?请。

1 个答案:

答案 0 :(得分:2)

您可以使用PHAsset location property检索图像的位置数据 见PHAsset

这是代码:

  let CameraImages = PHAsset.fetchAssetsWithMediaType(PHAssetMediaType.Image, options: nil)
    CameraImages.enumerateObjectsUsingBlock({
        (obj, idx, bool) -> Void in
        var asset = obj  as! PHAsset

        let locationData = asset.location

    })

修改: @Ryo评论:从我从imagePickerController中选择的图像中检索位置数据?

你可以这样做

   func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject])
{

    self.dismissViewControllerAnimated(false, completion: nil)
    var arrayURL:[NSURL] = []
    var url = info[UIImagePickerControllerReferenceURL] as! NSURL
    arrayURL.append(url)
    let ImageAsset =  PHAsset.fetchAssetsWithALAssetURLs(url1, options: nil)

    ImageAsset.enumerateObjectsUsingBlock({
        (obj, idx, bool) -> Void in
        var asset = obj  as! PHAsset
        let locationData = asset.location
        print(locationData)

    })

}

编辑2: @ Ryo评论:如何从这个位置数据获得经度和高度?

只需添加此行

即可
  if locationData != nil {
            let longi = locationData?.coordinate.longitude
            let lati = locationData?.coordinate.latitude
        }