Czy ktoś może mi powiedzieć, czy jest możliwe, aby Phonegap uzyskał orientację urządzenia Android w stopniach (kąt telefonu w stosunku do podłoża)? Czy możliwe jest również zdobycie pola magnetycznego?Phonegap - orientacja urządzenia w stopniach i polu magnetycznym
Odpowiedz
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);
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.
O ile mi wiadomo, w PhoneGap Androida można uzyskać dane accelerometer
i compass dane
Czy akcelerometr jest podobny do żyroskopu i jak dokładny jest? – user1809790
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
@ user1809790 Zaktualizowałem post odpowiednio. –
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