如何使用照片位置数据

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 中请求位置访问?

如何使用我自己的区域照片作为位置图?

如何从照片中获取 GPS 数据

如何使用ArcGISOnline

在ios应用程序中更改位置iPhone时如何旋转照片[关闭]

Flutter:如何将多张照片或图标内的一张照片链接到地理位置标记?