From 915d4271fbab6e608b5982286629c653a840ca93 Mon Sep 17 00:00:00 2001 From: Robert Kaiser Date: Sat, 15 Dec 2012 00:40:14 +0100 Subject: [PATCH 1/1] move debug output to console.log; make DB upgrade work more reasonably --- js/map.js | 29 +++++++++++++++-------------- js/ui.js | 18 ++++++++++-------- 2 files changed, 25 insertions(+), 22 deletions(-) diff --git a/js/map.js b/js/map.js index 04bbc1a..a698818 100644 --- a/js/map.js +++ b/js/map.js @@ -122,7 +122,7 @@ function initMap() { gWaitCounter++; gTrackStore.getList(function(aTPoints) { if (gDebug) - document.getElementById("debug").textContent = aTPoints.length + " points loaded."; + console.log(aTPoints.length + " points loaded."); if (aTPoints.length) { gTrack = aTPoints; } @@ -133,7 +133,7 @@ function initMap() { setTimeout(getPersistentPrefs, 100); loopCnt++; if (loopCnt > 50) { - document.getElementById("debug").textContent = "Loading prefs failed."; + console.log("Loading prefs failed."); } }; getPersistentPrefs(); @@ -165,13 +165,14 @@ function initMap() { function resizeAndDraw() { var viewportWidth = Math.min(window.innerWidth, window.outerWidth); var viewportHeight = Math.min(window.innerHeight, window.outerHeight); - - gMapCanvas.width = viewportWidth; - gMapCanvas.height = viewportHeight; - gTrackCanvas.width = viewportWidth; - gTrackCanvas.height = viewportHeight; - drawMap(); - showUI(); + if (gMapCanvas && gTrackCanvas) { + gMapCanvas.width = viewportWidth; + gMapCanvas.height = viewportHeight; + gTrackCanvas.width = viewportWidth; + gTrackCanvas.height = viewportHeight; + drawMap(); + showUI(); + } } function zoomIn() { @@ -475,10 +476,9 @@ var mapEvHandler = { y: gPos.y + (x - gMapCanvas.height / 2) * gZoomFactor}; var gpsCoord = xy2gps(ptCoord.x, ptCoord.y); var pt2Coord = gps2xy(gpsCoord.latitude, gpsCoord.longitude); - document.getElementById("debug").textContent = - ptCoord.x + "/" + ptCoord.y + " - " + - gpsCoord.latitude + "/" + gpsCoord.longitude + " - " + - pt2Coord.x + "/" + pt2Coord.y; + console.log(ptCoord.x + "/" + ptCoord.y + " - " + + gpsCoord.latitude + "/" + gpsCoord.longitude + " - " + + pt2Coord.x + "/" + pt2Coord.y); */ var newZoomLevel = gPos.z + (delta > 0 ? 1 : -1); @@ -591,7 +591,8 @@ function startTracking() { function(error) { // Ignore erros for the moment, but this is good for debugging. // See https://developer.mozilla.org/en/Using_geolocation#Handling_errors - document.getElementById("debug").textContent = error.message; + if (gDebug) + console.log(error.message); }, {enableHighAccuracy: true} ); diff --git a/js/ui.js b/js/ui.js index f2501cf..bc3303d 100644 --- a/js/ui.js +++ b/js/ui.js @@ -47,7 +47,7 @@ window.onload = function() { if (gWaitCounter <= 0) gWaitCounter = 0; else - document.getElementById("debug").textContent = "Loading failed (waiting for init)."; + console.log("Loading failed (waiting for init)."); gMapPrefsLoaded = true; resizeAndDraw(); @@ -66,28 +66,30 @@ window.onresize = function() { function initDB() { // Open DB. - var request = window.indexedDB.open("MainDB", 4); + var request = window.indexedDB.open("MainDB", 2); request.onerror = function(event) { // Errors can be handled here. Error codes explain in: // https://developer.mozilla.org/en/IndexedDB/IDBDatabaseException#Constants - //document.getElementById("debug").textContent = - // "error opening mainDB: " + event.target.errorCode; + if (gDebug) + console.log("error opening mainDB: " + event.target.errorCode); }; request.onsuccess = function(event) { - //document.getElementById("debug").textContent = "mainDB opened."; mainDB = request.result; }; request.onupgradeneeded = function(event) { mainDB = request.result; - //document.getElementById("debug").textContent = "mainDB upgraded."; var ver = mainDB.version || 0; // version is empty string for a new DB - if (ver <= 1) { + if (gDebug) + console.log("mainDB has version " + ver + ", upgrade needed."); + if (!mainDB.objectStoreNames.contains("prefs")) { // Create a "prefs" objectStore. var prefsStore = mainDB.createObjectStore("prefs"); + } + if (!mainDB.objectStoreNames.contains("track")) { // Create a "track" objectStore. var trackStore = mainDB.createObjectStore("track", {autoIncrement: true}); } - if (ver <= 4) { + if (!mainDB.objectStoreNames.contains("tilecache")) { // Create a "tilecache" objectStore. var tilecacheStore = mainDB.createObjectStore("tilecache"); } -- 2.35.3