こんにちは:)私はコンパスと場所を使用して場所の方向に矢印を描くアプリケーションに取り組んでいます。私の問題は、エミュレーターでコードを実行すると、すべての矢印が正しい方向を指し、エミュレーターの方向を横向きに変更しても、すべての矢印が正しいことです。しかし、Nexus Oneで同じアプリケーションを実行すると、電話が垂直の場合は矢印はすべて正しいですが、横向きになるとすべての矢印が90度ずれます。北への参照として電話の「上部」を保持します。したがって、電話の向きに合わせてコンパスを修正する必要があります。これはすべての実際の電話で発生し、エミュレーターは別のものですか?それとも、これはNexus Oneだけですか?ありがとう :)
1 に答える
0
私の理解では、コンパスの現在の動作方法は、正しい読み取りのために常に電話の「上部」または「デフォルトの向き」を使用することになっています。これは、以前のバージョンの Android では異なっていた可能性があります。画面の向きを補正して、向きの変更で真北を表すのは開発者次第だと言われています。加速度計についても同様に、軸はデフォルトの画面の向きに基づいたままになります (したがって、ほとんどの電話では縦向きですが、タブレットではほとんどが横向きになります)。SDK を参照するのは嫌いですが、このリンクの最初の段落で説明しています: http://developer.android.com/reference/android/hardware/SensorEvent.html
于 2011-06-07T16:05:08.770 に答える