2011-09-29 55 views
3

我使用位置類獲取高度,但始終返回0.如何在Android中獲取高度

請告訴我如何獲得高度?

Location.getAltitude(); 
+1

你在真正的設備或模擬器嘗試它... –

+0

我嘗試在模擬器上,操作系統版本1.6 – Smith

+1

我認爲在模擬器中它不會顯示值,你必須在實際設備中檢查.... –

回答

0

您需要獲取用戶當前位置: http://developer.android.com/guide/topics/location/obtaining-user-location.html

的LocationListener的會給你一個位置的對象,可以在其上使用getAltitude()函數。

+2

是的,我嘗試它,但它仍然返回0.0值。我也嘗試在telnet控制檯,地理修復-121.45356 46.51119 4392和幾何$ GPRMC,081836,A,3751.65,S,14507.36,E,000.0,360.0,130998,011.3 ,E * 62 – Smith

2

海拔高度通常僅適用於GPS提供商。如果支持海拔高度,你可以檢查可用的位置提供商:

locationProvider.hasAltitude(); 
+1

我也試過這個,當我使用geo fix -121.45356 46.51119 4392時,它返回true但是海拔高度爲0.0,但是當我使用geome n $ GPRMC,081836,A,3751.65,S,14507.36,E,000.0, 360.0,130998,011.3,E * 62則返回false。 – Smith

3

最初我使用了location.getAltitude(),它總是重新調整0.0。然後我碰到了https://groups.google.com/forum/#!topic/android-beginners/KNeLh905ip0它幫我解決了我的問題。它適用於真正的實際設備。

private LocationProvider _locationProvider; 
private LocationManager _locationManager; 
    _locationManager = (LocationManager) mContext 
      .getSystemService(LOCATION_SERVICE); 

    _locationProvider = _locationManager 
      .getProvider(LocationManager.GPS_PROVIDER); 

    location = _locationManager.getLastKnownLocation 
       (LocationManager.GPS_PROVIDER); 

    _locationProvider.supportsAltitude();       
      hasaltitude = location.hasAltitude(); 
      double altitude = location.getAltitude(); 
      System.out.println("HasAltitude" + hasaltitude+"-"+altitude); 

「高度」的值將以米爲單位。

+0

你好朋友,你可以與我分享完整的演示源代碼...我也想知道如何計算ALTITUDE – Sophie

相關問題