2013-07-10 71 views
1

我使用Android手機拍攝的照片中的EXIF數據,通常獲取GPS數據非常簡單,並且它以簡單的[雙緯度,雙倍經度]格式返回,並且效果很好。但有時它會給我一些沒有意義的數字,例如[247322,124390],我猜測這是因爲它將它們以不同的格式返回給我,但我不確定是什麼。Android以何種形式返回EXIF GPS數據?

你知道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 
       } 
      } 

感謝您的幫助!

回答

0

你在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 
} 

+0

是它基本上是同樣的事情,但對於MonoDroid的(Android的用C#),但並不總是隻返回[度]?或者它有時會返回[度,分,秒]? – clifgray

+0

查看http://docs.xamarin.com/recipes/ios/media/images/access_image_metadata和http://docs.go-mono.com/index.aspx?link=M%3AAndroid.Media.ExifInterface.GetLatLong( System.Single%5B%5D) –