Der Martin: Soziologe tut isch schwer beim Berechnen der Zeit

Beitrag lesen

Mahlzeit,

also der jetzige Osterspaziergang hat mir ziemliche Probleme aufgezeigt,
Ich verwende ja Phonegap und jQuery Mobile.
Ich hab auf einer data-role="page" eine Google Maps, ein Zeitanzeige (wie lang dauert das tracking schon), eine Geschwindigkeitsanzeige und eine Längenanzeige.

das sind Aspekte, die du eigentlich schon im Startposting hättest erwähnen sollen - vor allem die Tatsache, dass das auf einem Mobilgerät laufen soll, wo die technischen Möglichkeiten (und evtl. auch die Rechenleistung) deutlich eingeschränkt sein können.

Wenn ich die map z.B. herumziehe, dann steht die Zeitanzeige - da geht dann gar nichts mehr - is also ziemlich falsch.

Ja, das wundert mich nicht. Denn wenn ich deinen eingangs gezeigten Code richtig verstehe, möchtest du eine Zählfunktion regelmäßig jede Millisekunde aufrufen. Da wird sogar schon so mancher Desktop-PC die weiße Fahne hissen.
Du könntest natürlich deine Timerfunktion von 1000mal pro Sekunde (also 1ms Auflösung) auf 1mal pro Sekunde umstellen. Das sollte auch ein Smartphone-Browser noch schaffen. Natürlich musst du dann deine Aufbereitung so umschreiben, dass die Umwandlung von Millisekunden in Sekunden entfällt.

Ich bräuchte jetzt entweder einen eigenen Thread in dem die Zeitberechnung und Anzeige läuft (Das wird es nicht geben, da das Ganze ja in einem embedded Browser läuft) oder ich hol mir die Zeit aus den Timestamps der Position- Objekte raus.

Letzteres halte ich für zielführend, wenn die permanente Anzeige der aktuell vergangenen Zeit nicht unbedingt nötig ist. Dann kannst du am Anfang einer Etappe mit new Date() einen Timestamp A holen, am Ende einer Etappe einen Timestamp B, und dann A.getMilliseconds von B.getMilliseconds abziehen.

Ciao,
 Martin

--
Er war ein Mann wie ein Baum. Sie nannten ihn Bonsai.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(