X-Git-Url: https://git-public.kairo.at/?p=lantea.git;a=blobdiff_plain;f=js%2Fmap.js;h=221808094d238bfb89059ca9bf5a451282f17b0e;hp=4cd4ea7b809ea786d1ca1dbdbd1ee8be86ab6e24;hb=4c13fe0c682d92455ec29a8903912ade594e3043;hpb=99631a7543656fb58fe3c7f7913773d49630db03 diff --git a/js/map.js b/js/map.js index 4cd4ea7..2218080 100644 --- a/js/map.js +++ b/js/map.js @@ -388,7 +388,7 @@ var mapEvHandler = { } }; -geofake = { +var geofake = { tracking: false, watchPosition: function(aSuccessCallback, aErrorCallback, aPrefObject) { this.tracking = true; @@ -409,12 +409,32 @@ geofake = { } function startTracking() { + var loopCnt = 0; + var getStoredTrack = function() { + if (mainDB) + gTrackStore.getList(function(aTPoints) { + //document.getElementById("debug").textContent = aTPoints.length + " points loaded."; + if (aTPoints.length) { + gTrack = aTPoints; + } + }); + else + setTimeout(getStoredTrack, 100); + loopCnt++; + if (loopCnt > 20) + return; + }; + getStoredTrack(); if (navigator.geolocation) { //gGeoWatchID = geofake.watchPosition( gGeoWatchID = navigator.geolocation.watchPosition( function(position) { // Coords spec: https://developer.mozilla.org/en/XPCOM_Interface_Reference/NsIDOMGeoPositionCoords - gTrack.push({time: position.timestamp, coords: position.coords}); + var tPoint = {time: position.timestamp, + coords: position.coords, + beginSegment: !gLastTrackPoint}; + gTrack.push(tPoint); + gTrackStore.push(tPoint); drawTrackPoint(position.coords.latitude, position.coords.longitude); if (gCenterPosition) { var posCoord = gps2xy(position.coords.latitude, position.coords.longitude); @@ -441,3 +461,9 @@ function endTracking() { navigator.geolocation.clearWatch(gGeoWatchID); } } + +function clearTrack() { + gTrack = []; + gTrackStore.clear(); + drawMap(); +}