Я записываю GPS-координаты в мое изображение JPEG, и координаты верны (как показано в моих выводах logcat), но кажется, что они как-то повреждены.Чтение exif-данных приводит либо к нулевым значениям, либо, в случае моего GPS: 512.976698 degrees, 512.976698 degrees
.Кто-нибудь может пролить некоторый свет на эту проблему?
написав ее:
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 градуса, но я не могу понять, как вычислить там десятичное число.