Как отладить, какие данные EXIF фактически получает Flutter
Я создаю приложение Flutter, которое импортирует фотографии и считывает метаданные EXIF с помощью Dart. Проблема в том, что одно и то же изображение явно содержит данные GPS, когда я проверяю его в свойствах файла Windows, но мое приложение Flutter не может извлечь широту/долготу.
Код: Выделить всё
import 'dart:developer' as dev;
import 'dart:io';
import 'package:native_exif/native_exif.dart';
class ExifService {
Future extractMetadata(String filePath) async {
final file = File(filePath);
final exif = await Exif.fromPath(filePath);
final latLon = await exif.getLatLong();
print(latLon);
final lat = await exif.getAttribute('GPSLatitude');
final lon = await exif.getAttribute('GPSLongitude');
print('lat=$lat lon=$lon');
await exif.close();
}
}
свойствах файлов Windows, сведениях о фотографиях телефона / сведениях о галерее, свойствах Windows с информацией о местоположении.


Оба показывают широту и долготу GPS, поэтому метаданные определенно присутствуют в файле. Но во Flutter моя программа чтения EXIF возвращает сообщение: нет тегов GPS, нулевых координат или координат 0/0. Я использую такой код: ``
Я также пробовал вручную анализировать строки GPS EXIF, но приложение все равно не получает координаты. Что я проверил. Файл изображения определенно содержит метаданные GPS в свойствах Windows. Файл представляет собой изображение JPG/HEIC, координаты которого видны в деталях фотографии ОС. Путь к файлу существует, и файл успешно открывается во Flutter. Само извлечение EXIF не дает сбоя, но данные GPS отсутствуют или пусты.
Мобильная версия