Получить GPS местоположение фотографии - PullRequest
3 голосов
/ 26 марта 2012

Я знаю, как узнать текущее местоположение GPS мобильного телефона. Я также знаю, как сохранить местоположение GPS на фото, когда вы его делаете. (Вариант камеры Samsung galaxy s2).

Но как я могу получить местоположение GPS этой фотографии (позже)? Когда я открываю фотографию на компьютере, я вижу данные о местонахождении GPS, но не знаю, как извлечь их позже в Android. Так кто-нибудь может направить меня в правильном направлении? Чтобы вопрос был понятнее: Как я могу получить местоположение GPS фотографии, которая уже сделана?

Спасибо уже, Bigflow

Ответы [ 2 ]

19 голосов
/ 26 марта 2012

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 этоговам нужно немного подсчитать, вот оно:

  1. Рассчитать общее количество секунд:
    58′32 ″ = (58 * 60 + 32) = 3512 секунд.
  2. Дробная часть - это общее количество секунд, деленное на 3600:
    3512/3600 = ~ 0,975556
  3. Добавьте дробные градусы ко всем градусам для получения окончательного результата:
    51 + 0,975556 = 51,975556
  4. Если это западная долгота, отрицание результата.(не в этот раз)
  5. ответ: 51.975556

То же самое относится и к TAG_GPS_LONGITUDE

9 голосов
/ 26 марта 2012

Я думаю, что геотег находится в данных EXIF ​​фотографии, сделанной. Найдите подходящий считыватель данных EXIF, который поможет вам извлечь нужные данные.

...