내 안드로이드 응용 프로그램은 세계의 특정 장소의 방향을 보여 주므로 나침반 등급을 얻을 필요가 있습니다.
이것은 내가 정도를 계산하는 데 사용했던 코드 :android에서 정확한 나침반 만드는 법
public void getDirection() {
mySensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE);
List<Sensor> mySensors = mySensorManager.getSensorList(Sensor.TYPE_ORIENTATION);
if(mySensors.size() > 0){
mySensorManager.registerListener(mySensorEventListener, mySensors.get(0), SensorManager.SENSOR_DELAY_UI);
}
else{
TextView alert = (TextView)findViewById(R.id.instruct);
alert.setText(getString(R.string.direction_not_found));
myCompassView.setVisibility(myCompassView.INVISIBLE);
}
}
private SensorEventListener mySensorEventListener = new SensorEventListener(){
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
// TODO Auto-generated method stub
}
@Override
public void onSensorChanged(SensorEvent event) {
// TODO Auto-generated method stub
compassBearing = (float)event.values[0];
float bearing;
bearing = compassBearing - templeBearing;
if (bearing < 0)
bearing = 360 + bearing;
myCompassView.updateDirection(bearing);
}
};
이 방법은 일반적으로 작동하지만 때때로 그것은 단지 내가 더 정확한 위치를 얻기 위해 무엇을해야합니까, 잘못된 북쪽을 얻는다? 가을 보정 할 수 없습니다
1) 귀하의 장치
새로운 http://area51.stackexchange.com/proposals/102228/virtual-and-augmented-reality StackExchange 제안에 추가하는 것이 좋은 질문입니다. – SashaZd