我使用的是Android手机拍摄的照片中的EXIF数据,通常,获取GPS数据非常简单,并且以简单的[双纬度,双经度]格式返回,效果很好。但是有时候它会给我一些没有意义的数字,例如[247322,124390],我猜测这是因为它以不同的格式将它们返回给我,但我不确定。

您知道EXIF GPS数据以什么格式返回吗?

这是我的代码:

            var gps = GetImageGps(filePath, currentTimeInMillisenconds);
            double latitude = 0;
            double longitude = 0;

            if (gps != null && gps[0] != 0 && gps[1] != 0)
            {
                _gpsLocation = gps;
                latitude = gps[0];
                longitude = gps[1];

                if ((latitude < -90 || latitude > 90) && (longitude < -180 || latitude > 180))
                {
                    //here I will handle another format
                }
            }


谢谢你的帮助!

最佳答案

您是否在GetImageGps中使用ExifInterface

尝试这样的事情(确保使用getLatLong方法)


ExifInterface exifInterface = new ExifInterface(fileName);
float[] latLng = new float[2];
if (exifInterface .getLatLong(latLng)) { //file has exif latlong info
   //etc, latLng[0] is your latitute value and latLng[1] your longitude value
}

09-28 10:15
查看更多