josnidhin сделал этот ответ возможным, поэтому обязательно отдайте ему должное:)
Вот и мы:
import android.media.ExifInterface;
exif = new ExifInterface(filePath);
String lat = ExifInterface.TAG_GPS_LATITUDE;
String lat_data = exif.getAttribute(lat);
После этого lat_data будет выглядеть примерно так: 51/1, 58 / 1,32 / 1
Это то же самое, что: 51, 58, 32. (ввод этого в Google Maps даст плохой результат)
Чтобы получить координаты GPS этоговам нужно немного подсчитать, вот оно:
- Рассчитать общее количество секунд:
58′32 ″ = (58 * 60 + 32) = 3512 секунд. - Дробная часть - это общее количество секунд, деленное на 3600:
3512/3600 = ~ 0,975556 - Добавьте дробные градусы ко всем градусам для получения окончательного результата:
51 + 0,975556 = 51,975556 - Если это западная долгота, отрицание результата.(не в этот раз)
- ответ: 51.975556
То же самое относится и к TAG_GPS_LONGITUDE