GPS 座標を JPEG 画像に書き込んでいます。座標は正しいですが (logcat 出力で示されています)、何らかの形で破損しているようです。exif データを読み取ると、null 値になるか、私の 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 度ですが、小数の計算方法がわかりません。