代码之家  ›  专栏  ›  技术社区  ›  Capella

在图像上添加GPS EXIF在本机iOS中不起作用

  •  0
  • Capella  · 技术社区  · 5 年前

    我要将GPS数据添加到图像中,并将其上传到服务器。 添加GPS信息在Android中有效,但在iOS中无效。

    以下是细节。

    软件包版本:

    "react": "16.13.1",
    "react-native": "0.63.3",
    "react-native-camera": "^3.40.0"
    

    代码:

    let exifData = {};
    if (position) {
      exifData = {
        GPSLatitude: 65.9667,
        GPSLongitude: -18.5333,
        GPSAltitude: 15.04444408,
      };
    }
    
    const options = {
      quality: 0.5,
      base64: true,
      writeExif: exifData,
    };
    
    const data = await this.camera.takePictureAsync(options);
    Exif.getExif(data.uri)
      .then(msg => console.log('OK: ' + JSON.stringify(msg)))
      .catch(msg => console.log('ERROR: ' + msg));
    

    控制台日志:

    Android:
    
    "exif":
    {"GPSLongitude":"18/1,31/1,598800000/10000000",
    "GPSTimeStamp":null,
    "GPSLatitudeRef":"N",
    "GPSDateStamp":null,
    "GPSAltitudeRef":"0",
    "GPSLatitude":"65/1,58/1,1200000/10000000",
    "GPSAltitude":"150444/10000",
    "GPSProcessingMethod":null}
    
    iOS:
    
    "exif":
    {"Orientation":6,
    "{GPS}":
      {"LongitudeRef":"W",
      "LatitudeRef":"N",
      "AltitudeRef":0,
      "Longitude":18.5333,
      "Altitude":15.044444084121091,
      "Latitude":65.96669666666666}
    }
    

    我在iOS和Android上获得了不同的EXIF数据。但是,在线EXIF服务无法检测到iOS GPS EXIF数据。 我如何解决这个问题?

    我可以通过以下网站查看图像是否包含GPS信息: http://exif.regex.info/exif.cgi

    0 回复  |  直到 5 年前