iphone - 如何从上传的 iPhone 照片中获取正确的纬度和经度?

标签 iphone ios mapkit

我的问题实际上看起来很愚蠢...我正在编写一个使用 MKMapKit 的 iPhone 应用程序。该应用程序从提供的带有地理标记的照片中获取 EXIF 元数据。问题是我检索的纬度和经度坐标,例如:

纬度:34.25733333333334

经度:118.5373333333333

返回中国的位置。是否缺少我缺少的区域设置,或者我是否需要在使用它们之前转换纬度/经度坐标?

提前感谢大家提供的任何帮助。

这是我用来获取 GPS 数据的代码。您会注意到我正在将所有内容记录到控制台,这样我就可以看到值是什么:

void (^ALAssetsLibraryAssetForURLResultBlock)(ALAsset *) = ^(ALAsset *asset)
{
    NSDictionary *metadata = asset.defaultRepresentation.metadata;
    NSLog(@"Image Meta Data: %@",metadata);
    NSDictionary *gpsdata = [metadata objectForKey:@"{GPS}"];
    self.lat = [gpsdata valueForKey:@"Latitude"];
    self.lng = [gpsdata valueForKey:@"Longitude"];
    NSLog(@"\nLatitude: %@\nLongitude: %@",self.lat,self.lng);
};

NSURL *assetURL = [mediaInfo objectForKey:UIImagePickerControllerReferenceURL];
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library assetForURL:assetURL
         resultBlock:ALAssetsLibraryAssetForURLResultBlock
        failureBlock:^(NSError *error) {
        }];

UIImage *img = [mediaInfo objectForKey:@"UIImagePickerControllerEditedImage"];
previewImage.image = nil;
self.previewImage.image = img;

NSData *imageData = UIImagePNGRepresentation(img);
if ([imageData length] > 0) {
    self._havePictureData = YES;

}

最佳答案

我认为您应该使用以下方法获取值:

 CLLocation *location = [asset valueForProperty:ALAssetPropertyLocation];

关于iphone - 如何从上传的 iPhone 照片中获取正确的纬度和经度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9319465/

相关文章:

ios - UIActivityViewController 中各个 Activity 事件的不同 Activity 项目

iphone - animateWithDuration中completion block 中的finished参数是什么意思

iPhone - 是否可以直接与 iAd 服务器通信?

ios - 正确调整 MapKit map 注释图钉的大小

iphone - UIButton 标记未在 cellForRowAtIndexPath 中正确设置

ios - 如何知道 UIView 动画何时全部完成

按下取消按钮时,IOS 7 UISearchBar 搜索图标不会动画到中心

iphone - 将自定义对象的 NSArray 转换为带索引的按字母顺序划分的 UITableView?

ios MapKit 的注释描述在启动时可见,但在点击时不可见

iphone - 在 map View 中使用 CLGeocoder 而不是私有(private) API