X-Git-Url: https://git-public.kairo.at/?p=lantea.git;a=blobdiff_plain;f=js%2Fmap.js;h=e0f0a39708ae98a301b02bddb4281c0af884455c;hp=6aeacf688794cbdbb33fccde9c89c6b23b93df61;hb=7e9524be0118bd5890d84b83ced68e8ab3decf5f;hpb=003d56f8a1eee6825cc6c800f135e13df753770d diff --git a/js/map.js b/js/map.js index 6aeacf6..e0f0a39 100644 --- a/js/map.js +++ b/js/map.js @@ -3,7 +3,7 @@ * You can obtain one at http://mozilla.org/MPL/2.0/. */ var gMapCanvas, gMapContext, gTrackCanvas, gTrackContext, gGeolocation; -var gDebug = false; +var gDebug = true; var gTileSize = 256; var gMaxZoom = 18; // The minimum is 0. @@ -162,14 +162,17 @@ function loadPrefs(aEvent) { gAction.dispatchEvent(throwEv); }); gWaitCounter++; - var trackLoadStarted = false; + var trackLoadStarted = false, redrawBase = 100; gTrackStore.getListStepped(function(aTPoint) { if (aTPoint) { // Add in front and return new length. var tracklen = gTrack.unshift(aTPoint); - // Redraw track every 100 values (initial paint will do first anyhow). - if (tracklen % 100 == 0) + // Redraw track periodically, larger distance the longer it gets. + // Initial paint will do initial track drawing. + if (tracklen % redrawBase == 0) { drawTrack(); + redrawBase = tracklen; + } } else { // Last point received. @@ -489,7 +492,6 @@ var mapEvHandler = { Math.pow(aEvent.targetTouches.item(1).clientY - aEvent.targetTouches.item(0).clientY, 2) ); - console.log('!!! ' + gPinchStartWidth); } gDragTouchID = aEvent.changedTouches.item(0).identifier; coordObj = aEvent.changedTouches.identifiedTouch(gDragTouchID); @@ -515,7 +517,7 @@ var mapEvHandler = { ); if (!gPinchStartWidth) gPinchStartWidth = curPinchStartWidth; - console.log(gPinchStartWidth + ' ' + curPinchStartWidth); + if (gPinchStartWidth / curPinchStartWidth > 1.7 || gPinchStartWidth / curPinchStartWidth < 0.6) { var newZoomLevel = gPos.z + (gPinchStartWidth < curPinchStartWidth ? 1 : -1); @@ -544,6 +546,7 @@ var mapEvHandler = { gPinchStartWidth = null; } } + // If we are in a pinch, do not drag. break; } var x = coordObj.clientX - gMapCanvas.offsetLeft; @@ -574,6 +577,7 @@ var mapEvHandler = { break; case "mouseup": case "touchend": + gPinchStartWidth = null; gDragging = false; showUI(); break;