1

getAltitude() メソッドからの戻り値は常に 0.00 を返します。多くの回答は、プロバイダーが高度の詳細をサポートしていないことが原因である可能性があることを示唆しています。これを確認しましたが、高度をサポートしています。

GPS座標から高度を取得したい。どんな助けでも大歓迎です。

私のコードは以下の通りです。

LocationManager locationManager; LocationProvider locationProvider;

/* Get LocationManager and LocationProvider for GPS */
 locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
 locationProvider = locationManager.getProvider(LocationManager.GPS_PROVIDER);

/* Check if GPS LocationProvider supports altitude */
locationProvider.supportsAltitude();

//Location object 
Location l = new Location("A");
l.setLatitude(40.796852);
l.setLongitude(-74.061340);
l.getAltitude();

//Returns 0.00
Log.i("Tag", String.valueOf(l.getAltitude()));

//returns True
Log.i("Tag", String.valueOf(locationProvider.supportsAltitude()));  
4

3 に答える 3

0

オブジェクトを手動で組み立てていLocationます。そのLocationオブジェクトが に対してゼロ以外の値を返すようにしたい場合はgetAltitude()、 を呼び出す必要がありますsetAltitude()

おそらく高度を含む、デバイスの現在の位置を取得したい場合は、ドキュメントLocationManagerで説明されているようにを使用できます。

特定の緯度と経度で地球の表面の海抜高度を取得しようとしている場合、Android にはそのための機能がありません。これらの詳細が含まれている何らかのライブラリまたは Web サービスを見つける必要があります。

于 2016-02-06T20:54:40.893 に答える