ソースタイプがUIImagePickerControllerSourceTypeCamera
のUIImagePickerController
で選択された画像のメタデータ内のユーザーの場所を取得または取得しようとしています。ソースタイプがカメラのUIImagePickerController(ジオタギングの種類)の場合、画像のメタデータの位置を取得します
ソースタイプがカメラ(カメラでクリックされた画像)の場合、info
パラメータのdidFinishPickingMediaWithInfo
からメタデータを取得できますが、位置情報は含まれていません。ソースタイプは以下のコードとmetadata
でphotolibrary (UIImagePickerControllerSourceTypePhotoLibrary)
し、我々が得ることができる場所、我々はまた、CLLocationManager
と場所を管理することができます
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{
NSURL *url = [info objectForKey:UIImagePickerControllerReferenceURL];
PHFetchResult *fetchResult = [PHAsset fetchAssetsWithALAssetURLs:@[url] options:nil];
PHAsset *asset = fetchResult.firstObject;
NSLog(@"%f,%f",asset.location.coordinate.latitude,asset.location.coordinate.longitude);
[picker dismissViewControllerAnimated:YES completion:nil];
}
第二のものがある場合は
は、私たちはdidFinishPickingMediaWithInfo
で場所をキャプチャすることができます意味します。しかし、私は、didFinishPickingMediaWithInfo
のメタデータで場所を選ぶことが可能であることを知りたいですか?
ご協力いただければ幸いです。ありがとう!
メタデータはUIImagePickerControllerMediaMetadataにあります。しかし、位置情報は含まれていません。それはあなた次第です。 – matt
@matt:うん!メタデータは 'UIImagePickerControllerMediaMetadata'で利用可能であり、位置情報は含まれていません。提案していただきありがとうございます。 :) – Lion
そう、このように考えてください。あなたはすでにカメラを使用する権限があるので、自動的にカメラのメタデータ(焦点距離、iPhoneの種類など)を取得することができます。しかし、ユーザーの所在地を取得する権限は、まったく異なるボールゲームです。それは写真を撮ることの一部ではありません。それは何か_else_写真撮影アプリ_might_が行うものです。カメラアプリは、ユーザーが許可した場合にのみ、その操作を実行できます。今_you_はアプリなので、場所情報が必要な場合は、_you_は認証が必要で、_you_はその情報を収集して挿入する必要があります。 – matt