Frage

Ich habe einen Kompass entwickelt auf diesem Beispiel basiert: http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/Compass.html

Da meine App funktioniert nur im Landscape-Modus wird so der Kompass. Allerdings scheint es, als dieser Code nicht richtig in Landscape-Modus funktionieren. Nord Punkte mehr in Richtung Osten. Wenn ich den Android-Beispielcode zum Ausführen ich das gleiche Problem bekommen.

Hat jemand dies bemerkt und noch besser Hat jemand eine Lösung?

Übrigens, teste ich diese auf einem Nexus One. Nicht sicher, ob dies ist ein Telefon beantwortet.

Mit freundlichen Grüßen

P

War es hilfreich?

Lösung

Sie haben 90 Grad von der Drehung abzuziehen, da der Magnetometer auf der Oberseite des Telefons ist.

int test = getResources().getConfiguration().orientation;
if(Configuration.ORIENTATION_LANDSCAPE == test) {
            rotation = -90f;
        }
        else {
            rotation = 0f;
        }
canvas.rotate((float) (-Math.toDegrees(mOrientation[0]) + rotation ));
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top