Flutterのimage_pickerで取得した画像の位置情報を知るには


全体の流れ

  1. image_picker で画像のパス取得
  2. 取得したpathから exifで画像のメタデータを取得
  3. その中に位置情報が(保存されてれば)入ってるのでそっから取る

サンプル

コピペで使えます

import 'dart:io';

import 'package:image_picker/image_picker.dart';
import 'package:exif/exif.dart';

Future printImageGPS() async {
  final pickedFile = await ImagePicker().getImage(source: ImageSource.gallery);
  final tags = await readExifFromBytes(await File(pickedFile.path).readAsBytes());
  print('latitudeRef: ${tags['GPS GPSLatitudeRef']}');
  print('latitude: ${tags['GPS GPSLatitude']}');
  print('longitudeRef: ${tags['GPS GPSLongitudeRef']}');
  print('longitude: ${tags['GPS GPSLongitude']}');
}

結果

flutter: latitudeRef: N
flutter: latitude: [35, 28, 3031/100]
flutter: longitudeRef: E
flutter: longitude: [138, 40, 17/25]