2011-12-22 134 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需要一段时间才能从卫星获取高度,一分钟后它将显示高度。