我使用的是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
}