HTML and CSS Reference
In-Depth Information
}
</script>
</head>
<body onload "onBodyLoad()">
<div id "topbar" class "transparent" >
<div id "title">3D Bewegungsbestimmung</div>
</div>
<div id "content">
<ul class "pageitem">
<li class "button">
<input type "button" value "Start" onClick "startAccelerometer();
return false;">
</li>
<li class "button">
<input type "button" value "Stop" onClick "stopAccelerometer();
return false;">
</li>
</ul>
<ul class "pageitem">
<li class "textbox">
<p id "accelerometer">Die Lage im 3 D Raum ist...</p>
</li>
</ul>
</div>
</body>
</html>
Die virtuelle Wasserwaage besteht aus drei wichtigen JavaScript-Funktionen. Die erste
dieser selbst definierten Funktionen ist
startAccelerometer()
, die durch das Antippen
des
Start
-Buttons aufgerufen wird. Als einzige Option für den kommenden API-Aufruf
kann die Frequenz angegeben werden, die festlegt, wie oft nach einer neuen Raumlage des
Geräts geschaut werden soll. Bei einer Wasserwaage wollen wir ständige Aktualisierungen
erhalten und setzen aus diesem Grund den Wert auf 0,1 Sekunden. Die Variable
frequency
wird, genau wie bei den automatischen Geopositionsaktualisierungen, in
Millisekunden angegeben. Anschließend erfolgt der eigentliche API-Aufruf:
watchID navigator.accelerometer.watchAcceleration(onSuccess, onFail,
options);
Der Aufruf wird in der Variablen
watchID
festgehalten. Das ist wichtig, da Sie diese
watchID
dann wieder angeben müssen, wenn Sie z. B. die automatische Übermittlung
der Raumpositionsdaten deaktivieren möchten. Wie bei den meisten anderen Phone-
Gap-APIs geben wir auch hier eine Funktion
onSuccess
an, die bei einer erfolgreichen
Datenerfassung aufgerufen wird, und eine Funktion
onFail
, die im Fall eines Fehlers
oder Problems aufgerufen wird.
Die Beschleunigungsdaten werden in den Variablen
acceleration.x
,
acceleration.y
und
acceleration.z
gespeichert und alle 0,1 Sekunden auf einer HTML-Seite ausge-
geben: