Dieses Plugin ermöglicht den Zugriff auf das Gerät Beschleunigungsmesser. Der Beschleunigungsmesser ist ein Bewegungssensor, der die Änderung (Delta) erkennt Bewegung im Verhältnis zu der aktuellen Geräte-Orientierung, in drei Dimensionen entlang der x-, *y-*und Z -Achse.
Der Zugang ist über eine globale navigator.accelerometer
-Objekt.
Obwohl das Objekt mit der globalen Gültigkeitsbereich navigator
verbunden ist, steht es nicht bis nach dem Deviceready
-Ereignis.
document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() { console.log(navigator.accelerometer); }
cordova plugin add cordova-plugin-device-motion
Erhalten Sie die aktuelle Beschleunigung entlang der x-, y- und z-Achsen.
Diese Beschleunigungswerte werden an die accelerometerSuccess
-Callback-Funktion zurückgegeben.
navigator.accelerometer.getCurrentAcceleration(accelerometerSuccess, accelerometerError);
function onSuccess(acceleration) { alert('Acceleration X: ' + acceleration.x + '\n' + 'Acceleration Y: ' + acceleration.y + '\n' + 'Acceleration Z: ' + acceleration.z + '\n' + 'Timestamp: ' + acceleration.timestamp + '\n'); }; function onError() { alert('onError!'); }; navigator.accelerometer.getCurrentAcceleration(onSuccess, onError);
Werte für X, Y, Z-Bewegung sind alle zufällig generierten in Ordnung, den Beschleunigungsmesser zu simulieren.
iOS erkennt nicht das Konzept die aktuelle Beschleunigung zu einem bestimmten Zeitpunkt zu bekommen.
Müssen Sie die Beschleunigung zu sehen und erfassen die Daten zu bestimmten Zeitintervallen.
So die getCurrentAcceleration
-Funktion führt zu den letzten Wert berichtet von einer watchAccelerometer
rufen.
Ruft das Gerät aktuelle Accelerometer
in regelmäßigen Abständen, die accelerometerSuccess
-Callback-Funktion jedes Mal ausgeführt. Gibt das Intervall in Millisekunden über das AcceleratorOptions
-Objekt-frequency
-Parameter.
Die zurückgegebenen Watch-ID verweist der Beschleunigungsmesser Uhr Intervall und kann mit navigator.accelerometer.clearWatch
um zu stoppen, beobachten den Beschleunigungsmesser verwendet werden.
var watchID = navigator.accelerometer.watchAcceleration(accelerometerSuccess, accelerometerError, accelerometerOptions);
function onSuccess(acceleration) { alert('Acceleration X: ' + acceleration.x + '\n' + 'Acceleration Y: ' + acceleration.y + '\n' + 'Acceleration Z: ' + acceleration.z + '\n' + 'Timestamp: ' + acceleration.timestamp + '\n'); }; function onError() { alert('onError!'); }; var options = { frequency: 3000 }; // Update every 3 seconds var watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);
Die API ruft die Erfolg-Callback-Funktion im Intervall angefordert, aber schränkt den Bereich der Anforderungen an das Gerät zwischen 40ms und 1000ms. Beispielsweise wenn Sie ein Intervall von 3 Sekunden, (3000ms), beantragen die API fordert Daten vom Gerät jede 1 Sekunde, aber nur den Erfolg-Rückruf führt alle 3 Sekunden.
Hör auf, beobachten die Beschleunigung
durch den watchID
-Parameter verwiesen.
navigator.accelerometer.clearWatch(watchID);
navigator.accelerometer.watchAcceleration
.var watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options); // ... later on ... navigator.accelerometer.clearWatch(watchID);
Zu einem bestimmten Zeitpunkt im Zeit erfasste Accelerometer
-Daten enthält. Beschleunigungswerte sind die Auswirkungen der Schwerkraft (9.81 m/s ^ 2), so dass wenn ein Gerät flach und nach oben, X, y liegt, und Z-Werte zurückgegeben werden, ,
und 9.81 sollte
.