2011-09-14 17 views
3

SensorManagerを使用して高度を取得する代わりに、2つのパラメータが必要です。Android:SensorManager.getAltitude(float p0、float p)の使い方

public static float getAltitude (float p0, float p) 

Computes the Altitude in meters from the atmospheric pressure and the pressure at sea level. 

p0 pressure at sea level 
p atmospheric pressure 

実際の例/コードスニペットで使用する方法を教えてください。

UPDATES1 私はp0 pressure at sea levelを得るために、Webサービスプロバイダ(WSP)のURLを見つけました。私は正常に値を取得したが、返された値を理解していない。

WSPのURL:ここにhttp://avdata.geekpilot.net/

東京国際空港(http://avdata.geekpilot.net/weather/HND)

の出力例です
<weather> 
<ident>RJTT</ident> 
<error/> 
<metar> 
2011/09/22 08:00 
RJTT 220800Z 04019KT 9999 -SHRA FEW012 BKN025 BKN040 21/18 Q1000 NOSIG 
</metar> 
<taf> 
2011/09/22 04:12 
TAF 
     AMD TAF 
     AMD RJTT 220409Z 2204/2306 08016KT 9999 FEW030 SCT050 
     BECMG 2204/2206 05014KT 
     TEMPO 2207/2209 36018G30KT SHRA 
     BECMG 2303/2306 10008KT 
</taf> 
</weather> 

答えて

5

は試す

List<Sensor> sensors = sensorManager.getSensorList(Sensor.TYPE_PRESSURE); 
if(sensors.size() > 0) { 


    sensor = sensors.get(0); 
    mSensorManager.registerListener(this, sensor, SensorManager.SENSOR_DELAY_NORMAL); 

} 

public void onAccuracyChanged(Sensor sensor, int accuracy) { 
} 

public void onSensorChanged(SensorEvent event) { 
    presure = event.values[0]; 
} 

+0

それを手に入れました。リスナーを実装して、TYPE_PRESSUREセンサーの値を取得します。海面水位の圧力はどうですか?どのようにそれを得るための手掛かり? – eros

+0

はい定数ですSensorManager.PRESSURE_STANDARD_ATMOSPHERE – Michele

+0

"海面の圧力を知る必要があります。通常、近くの空港データベースから取得できます。不明な場合は、PRESSURE_STANDARD_ATMOSPHEREを近似値として使用できますが、絶対高度は正確ではありません" - このステートメントはAndroidのドキュメンテーションからのものです。近くの空港データベースからの価値を得たいですか?あなたはそれを得るためのヒントを持っていますか?またはそれを取得するために使用できるWebサービスプロバイダのURL? – eros