如何使用照片位置数据
Posted
技术标签:
【中文标题】如何使用照片位置数据【英文标题】:How to use a photos location data 【发布时间】:2015-08-06 08:05:08 【问题描述】:当我拍照时,我想保存位置(纬度、经度)。我应该在调用UIImagePickerController, didFinishPickingMediaWithInfo
时使用locationManager startUpdatingLocation
,还是有其他方法可以从照片中获取位置数据本身
【问题讨论】:
【参考方案1】:你可以这样做
import CoreLocation
在它添加 CLLocationManagerDelegate 到你的视图控制器类声明头之后
let locationManager = CLLocationManager()
locationManager.delegate = self
if CLLocationManager.authorizationStatus() == .NotDetermined
locationManager.requestAlwaysAuthorization()
locationManager.startUpdatingLocation()
此代表将要求更改位置
func locationManager(manager: CLLocationManager!,
didUpdateLocations locations: [AnyObject]!)
let location = locations.last as CLLocation
self.locationManager.stopUpdatingLocation()
此委托将调用位置管理器存在问题
func locationManager(manager: CLLocationManager!,
didFailWithError error: NSError!)
希望对你有帮助。
【讨论】:
【参考方案2】:最快的方法是使用
func getLocation()
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.requestAlwaysAuthorization()
locationManager.requestWhenInUseAuthorization()
locationManager.startUpdatingLocation()
然后从那里得到经纬度
【讨论】:
记得在 info.plist 中添加NSLocationAlwaysUsageDescription
Privacy - Location Usage Description
locationManager.requestAlwaysAuthorization() locationManager.requestWhenInUseAuthorization()
只需要其中一个,而不是两者都需要。
刚刚添加两者以提供两个选项,但添加两者将使locationManager.requestAlwaysAuthorization()
覆盖locationManager.requestWhenInUseAuthorization()
所以添加两者都很好以上是关于如何使用照片位置数据的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 ALAssetsLibrary 访问照片而不在 iOS5 中请求位置访问?