Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java android中罗盘的真航向和磁航向?_Java_Android_Android Sensors - Fatal编程技术网

Java android中罗盘的真航向和磁航向?

Java android中罗盘的真航向和磁航向?,java,android,android-sensors,Java,Android,Android Sensors,我想在安卓系统中获得指南针的真实和磁性航向 我已经阅读了很多教程,但没有给出我需要的输出 它只给出了方向 我的代码在这里 public class MainActivity extends Activity implements SensorEventListener { // device sensor manager private SensorManager mSensorManager; TextView tvHeading; @Override protected void o

我想在安卓系统中获得指南针的真实和磁性航向

我已经阅读了很多教程,但没有给出我需要的输出

它只给出了方向

我的代码在这里

public class MainActivity extends Activity implements SensorEventListener {


// device sensor manager
private SensorManager mSensorManager;

TextView tvHeading;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    // TextView that will tell the user what degree is he heading
    tvHeading = (TextView) findViewById(R.id.tvHeading);

    // initialize your android device sensor capabilities
    mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
}

@Override
protected void onResume() {
    super.onResume();

    // for the system's orientation sensor registered listeners
    mSensorManager.registerListener(this, mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION),
            SensorManager.SENSOR_DELAY_GAME);
}

@Override
protected void onPause() {
    super.onPause();

    // to stop the listener and save battery
    mSensorManager.unregisterListener(this);
}

@Override
public void onSensorChanged(SensorEvent event) {

    // get the angle around the z-axis rotated
    float degree = Math.round(event.values[0]);

    tvHeading.setText("Heading: " + Float.toString(degree) + " degrees");
}

@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
    // not in use
}
}
此代码给出罗盘的准确值

如何修改此代码以获得磁航向和真航向

这里少了什么

任何人都可以帮助我


谢谢

这是董事会,投票决定结束。你需要比这多得多的东西才能实现(我想你指的是地理上的)北方。你需要知道你的当前位置和该位置的磁偏差。@西蒙,你能举个例子吗?