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

Lea*_*chy 13 iphone mapkit ios

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

Lat:34.25733333333334

Lon: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;

}
Run Code Online (Sandbox Code Playgroud)

All*_*len 14

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

 CLLocation *location = [asset valueForProperty:ALAssetPropertyLocation];
Run Code Online (Sandbox Code Playgroud)