X-Git-Url: https://git-public.kairo.at/?p=tricorder.git;a=blobdiff_plain;f=js%2Ftricorder.js;h=2debeec9964f1d1d2c0acd9cab1a0f9895f8b33b;hp=2dc920767f39b9bb17974ff22fb99ed40ad6a91a;hb=33a80b5e4b34ab6ab27677a1841014321dd076da;hpb=14a5754752cd2b02a9f87f27ae54772a3797126c diff --git a/js/tricorder.js b/js/tricorder.js index 2dc9207..2debeec 100644 --- a/js/tricorder.js +++ b/js/tricorder.js @@ -88,26 +88,39 @@ var gModPos = { document.getElementById("posavail").style.display = "block"; this.watchID = navigator.geolocation.watchPosition( function(position) { - document.getElementById("posLat").textContent = position.coords.latitude; - document.getElementById("posLong").textContent = position.coords.longitude; - document.getElementById("posAlt").textContent = position.coords.altitude; - document.getElementById("posAcc").textContent = position.coords.accuracy; - document.getElementById("posAltAcc").textContent = position.coords.altitudeAccuracy; - document.getElementById("posHead").textContent = position.coords.heading || "---"; - document.getElementById("posSpd").textContent = position.coords.speed || "---"; + document.getElementById("posLat").textContent = + position.coords.latitude + "°"; + document.getElementById("posLong").textContent = + position.coords.longitude + "°"; + document.getElementById("posAlt").textContent = + position.coords.altitude.toFixed(0) + " m"; + document.getElementById("posAcc").textContent = + position.coords.accuracy.toFixed(0) + " m"; + document.getElementById("posAltAcc").textContent = + position.coords.altitudeAccuracy.toFixed(0) + " m"; + document.getElementById("posHead").textContent = + position.coords.heading ? position.coords.heading.toFixed(0) + "°" : "---"; + document.getElementById("posSpd").textContent = + position.coords.speed ? position.coords.speed.toFixed(1) + " m/s" : "---"; var locTime = new Date(position.timestamp); document.getElementById("posTime").textContent = locTime.toISOString(); }, function(error) { // See https://developer.mozilla.org/en/Using_geolocation#Handling_errors - document.getElementById("posLat").textContent = error.message; - document.getElementById("posLong").textContent = "..."; - document.getElementById("posAlt").textContent = "..."; - document.getElementById("posAcc").textContent = "..."; - document.getElementById("posAltAcc").textContent = "..."; - document.getElementById("posHead").textContent = "..."; - document.getElementById("posSpd").textContent = "..."; - document.getElementById("posTime").textContent = "..."; + if (error.message) { + document.getElementById("posLat").textContent = error.message; + document.getElementById("posLong").textContent = "..."; + document.getElementById("posAlt").textContent = "..."; + document.getElementById("posAcc").textContent = "..."; + document.getElementById("posAltAcc").textContent = "..."; + document.getElementById("posHead").textContent = "..."; + document.getElementById("posSpd").textContent = "..."; + document.getElementById("posTime").textContent = "..."; + } + else { + document.getElementById("posunavail").style.display = "block"; + document.getElementById("posavail").style.display = "none"; + } }, {enableHighAccuracy: true} ); @@ -143,6 +156,12 @@ var gModGrav = { document.getElementById("gravavail").style.display = "block"; window.addEventListener("deviceorientation", this.orientEvent, true); window.addEventListener("devicemotion", this.motionEvent, true); + setTimeout(function() { + if ((document.getElementById("gravAlpha").textContent == "...") && + (document.getElementById("gravX").textContent == "...")) { + gModGrav.deactivate(); + } + }, 3000); }, deactivate: function() { gSounds.scan.pause(); @@ -150,6 +169,15 @@ var gModGrav = { window.removeEventListener("devicemotion", this.motionEvent, true); document.getElementById("gravunavail").style.display = "block"; document.getElementById("gravavail").style.display = "none"; + //document.getElementById("gravAbs").textContent = "..."; + document.getElementById("gravAlpha").textContent = "..."; + document.getElementById("gravBeta").textContent = "..."; + document.getElementById("gravGamma").textContent = "..."; + document.getElementById("gravTotal").textContent = "..."; + document.getElementById("gravX").textContent = "..."; + document.getElementById("gravY").textContent = "..."; + document.getElementById("gravZ").textContent = "..."; + //document.getElementById("gravRot").textContent = "..."; }, orientEvent: function(orientData) { //document.getElementById("gravAbs").textContent = orientData.absolute; @@ -158,6 +186,11 @@ var gModGrav = { document.getElementById("gravGamma").textContent = orientData.gamma.toFixed(1) + "°"; }, motionEvent: function(event) { + var gravTotal = + Math.sqrt(Math.pow(event.accelerationIncludingGravity.x, 2) + + Math.pow(event.accelerationIncludingGravity.y, 2) + + Math.pow(event.accelerationIncludingGravity.z, 2)); + document.getElementById("gravTotal").textContent = gravTotal.toFixed(2) + " m/s²"; document.getElementById("gravX").textContent = event.accelerationIncludingGravity.x.toFixed(2) + " m/s²"; document.getElementById("gravY").textContent = event.accelerationIncludingGravity.y.toFixed(2) + " m/s²"; document.getElementById("gravZ").textContent = event.accelerationIncludingGravity.z.toFixed(2) + " m/s²"; @@ -165,7 +198,7 @@ var gModGrav = { }, } -var gModAcou = { +var gModOther = { activate: function() { //gSounds.scan.play(); },