2012-12-18 7 views

Odpowiedz

13

PhoneGap Docs

Kompas jest czujnik, który wykrywa kierunek lub nagłówek, że urządzenie jest skierowany. Mierzy on kurs w stopniach od 0 do 359,99.

Informacje o nagłówku kompasu są zwracane za pośrednictwem obiektu CompassHeading przy użyciu funkcji oddzwaniania compassSuccess.

function onSuccess(heading) { 
    alert('Heading: ' + heading.magneticHeading); 
}; 

function onError(error) { 
    alert('CompassError: ' + error.code); 
}; 

navigator.compass.getCurrentHeading(onSuccess, onError); 

Jeśli chcesz uzyskać dostęp do rotacyjnie stopni x, y lub oś Z telefonu można po prostu użyć gołego HTML5. Oto wielki artykuł o tym: THIS END UP: USING DEVICE ORIENTATION przykład

Kod:

window.addEventListener('deviceorientation', function(eventData) { 
// gamma is the left-to-right tilt in degrees, where right is positive 
var tiltLR = eventData.gamma; 

// beta is the front-to-back tilt in degrees, where front is positive 
var tiltFB = eventData.beta; 

// alpha is the compass direction the device is facing in degrees 
var dir = eventData.alpha 

// deviceorientation does not provide this data 
var motUD = null; 

// call our orientation event handler 
deviceOrientationHandler(tiltLR, tiltFB, dir, motUD); 
}, false); 

example

+0

Cześć Stephan, dziękuję za odpowiedź - zgadnij, że nie zadałem mojego pytania jasny. Jestem świadomy kompasu, ale potrzebuję tego, by kąt był pochylony w stosunku do ziemi. Czy to może być określone przez kompas? – user1809790

+0

@ user1809790 Zaktualizowałem post odpowiednio. –

+0

Doskonale! Czy istnieje również sposób na zablokowanie osi w grze na klawiaturze? Powodem jest to, że jeśli użytkownik umieści telefon komórkowy w pozycji płaskiej, oś z będzie skierowana w górę. Jeśli jednak użytkownik umieści telefon komórkowy w uchwycie telefonu samochodowego, oś Z będzie prawdopodobnie skierowana w Twoją stronę i z dala od Ciebie. Nie wiem, jak to obejść :( – user1809790

1

Możliwe jest określenie orientacji urządzenia przy użyciu HTML5

Wizyta here więcej szczegółów.

Ponieważ możemy używać przyspieszeniomierza za pomocą html5/phonegap, możemy uzyskać od niego kąt orientacji i wszystkie takie dane.