2011-12-22 77 views
0

我在做一個應用程序中,我必須讓設備的海拔海拔和我的代碼如下:安卓:實現設備

public class MyLocationListener implements LocationListener 
{ 
    public void onLocationChanged(Location loc) 
    { 
     try 
     { 
     System.out.println("............ ..............................Location changedin 11"); 
     latitude = loc.getLatitude(); 

     longitude = loc.getLongitude(); 
     altitude=loc.getAltitude(); 
     System.out.println("alt"+altitude); 
       System.out.println("latitude123 "+latitude); 
     System.out.println("longi: "+longitude); 
     System.out.println("longitude curr_lon"); 
     loc.getAccuracy(); 
     System.out.println("loc"+loc.getAccuracy()); 

     latitudee=(TextView)findViewById(R.id.latitudee); 
     latitudee.setText(""+latitude); 

     longitudee=(TextView)findViewById(R.id.longitudee); 
     longitudee.setText(""+longitude); 

     accuracyy=(TextView)findViewById(R.id.accuracyy); 
     accuracyy.setText(""+loc.getAccuracy()); 

     System.out.println("alti:"+altitude); // alti is coming out to be 0.0 
        } 
     catch (Exception e1) { 
      e1.printStackTrace(); 
     } 

     } 

    @Override 
    public void onProviderDisabled(String provider) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void onProviderEnabled(String provider) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void onStatusChanged(String provider, int status, Bundle extras) { 
     // TODO Auto-generated method stub 

    } 
    } 

高度的值來be0.0。任何幫助將不勝感激。

+0

如果'LocationProvider'實際上提供了任何高度信息,你用'loc.hasAltitude()'檢查過嗎?如果它基於單元格的位置,它可能不會。 – 2011-12-22 13:55:58

+0

Philipp Reichart,我試過但它沒有工作 – Aditya1510 2011-12-23 05:24:44

+0

它是如何工作的?如果'hasAltitude()'爲'false','getAltitude()'會正確返回零。 – 2011-12-23 10:21:26

回答

0

等待超過1分鐘GPS需要一段時間才能從衛星獲取高度,一分鐘後它將顯示高度。