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;
}
setTimeout(getPersistentPrefs, 100);
loopCnt++;
if (loopCnt > 50) {
- document.getElementById("debug").textContent = "Loading prefs failed.";
+ console.log("Loading prefs failed.");
}
};
getPersistentPrefs();
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() {
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);
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}
);
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();
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");
}