Android: теги геолокации EXIF ​​не работают на MAC - PullRequest
0 голосов
/ 05 ноября 2018

Я пытаюсь написать exif некоторых изображений, чтобы сохранить геолокацию их. Запись широты, долготы и их ссылок (выше или ниже уровня моря). Все работает должным образом на Windows, читателей EXIF ​​в Интернете и Linux. Но когда я пытаюсь открыть изображения на MAC, данные EXIF ​​не отображаются должным образом.

MAC exif

Как видите, показана только высота над уровнем моря и его ссылка. Но по какой-то причине широта полностью игнорируется. Я использую следующий отрывок, чтобы написать свой exif:

   /**
    * Creates and sets all to the GPS tags for a give latitude and longitude.
    *
    * @param locationExifData a custom class which contains the GPS needed values.
    * @return true if success, false if they could not be created or set.
    */
   public boolean addGpsTags(LocationExifData locationExifData) {
      ExifTag latTag = buildTag(TAG_GPS_LATITUDE, toExifLatLong(locationExifData.getLatitude()));
      ExifTag longTag = buildTag(TAG_GPS_LONGITUDE, toExifLatLong(locationExifData.getLongitude()));
      ExifTag latRefTag = buildTag(TAG_GPS_LATITUDE_REF,
         locationExifData.getLatitude() >= 0 ? ExifInterface.GpsLatitudeRef.NORTH
            : ExifInterface.GpsLatitudeRef.SOUTH);
      ExifTag longRefTag = buildTag(TAG_GPS_LONGITUDE_REF,
         locationExifData.getLongitude() >= 0 ? ExifInterface.GpsLongitudeRef.EAST
            : ExifInterface.GpsLongitudeRef.WEST);
      ExifTag altRefTag = buildTag(ExifInterface.TAG_GPS_ALTITUDE_REF,
         locationExifData.getAltitude() >= 0 ? SEA_LEVEL : SEA_LEVEL_NEGATIVE);
      if (latTag == null || longTag == null || latRefTag == null || longRefTag == null || altRefTag == null) {
         return false;
      }
      setTag(latTag);
      setTag(longTag);
      setTag(latRefTag);
      setTag(longRefTag);
      setTag(altRefTag);
      return true;
   }

Кто-то знает, почему это может происходить?

PD: если я импортирую изображение в онлайн-ридер EXIF ​​или в программу, такую ​​как Adobe Photoshop, и заново сохраню изображение там. EXIF правильно отображается с широтой и высотой.

...