Я записываю координаты GPS в свое изображение JPEG, и координаты верны (как показывает мой вывод logcat), но похоже, что оно каким-то образом повреждено. Чтение данных exif приводит либо к нулевым значениям, либо, в случае моего GPS: 512,976698 градусов, 512,976698 градусов
. Может ли кто-нибудь пролить свет на эту проблему?
написав:
try {
ExifInterface exif = new ExifInterface(filename);
exif.setAttribute(ExifInterface.TAG_GPS_LATITUDE, latitude);
exif.setAttribute(ExifInterface.TAG_GPS_LONGITUDE, longitude);
exif.saveAttributes();
Log.e("LATITUDE: ", latitude);
Log.e("LONGITUDE: ", longitude);
} catch (IOException e) {
e.printStackTrace();
}
и прочитав это:
try {
ExifInterface exif = new ExifInterface("/sdcard/globetrotter/mytags/"+ TAGS[position]);
Log.e("LATITUDE EXTRACTED", exif.getAttribute(ExifInterface.TAG_GPS_LATITUDE));
Log.e("LONGITUDE EXTRACTED", exif.getAttribute(ExifInterface.TAG_GPS_LONGITUDE));
} catch (IOException e) {
e.printStackTrace();
}
Он входит (например) 37.715183
, -117.260489
и выходит 33619970/65540, 14811136/3368550
, 33619970/65540, 14811136/3368550
. Я делаю это неправильно?
РЕДАКТИРОВАТЬ:
Итак, проблема в том, что я не кодирую его в правильно определенном формате, который похож на то, что вы видите здесь:
Кто-нибудь может объяснить, что это за формат? Очевидно, первое число 22/1 = 22 градуса, но я не могу понять, как вычислить здесь десятичную дробь.