add OpenTopoMap support production
authorRobert Kaiser <kairo@kairo.at>
Fri, 2 Jul 2021 16:33:51 +0000 (18:33 +0200)
committerRobert Kaiser <kairo@kairo.at>
Fri, 2 Jul 2021 16:33:51 +0000 (18:33 +0200)
index.html
js/map.js
js/piwik.js
login.html

index abdd3c0b046d447f3549e5e68b768d3d74321c7a..6e3af01770a907aa015fcd1e8f0785a300d4726e 100644 (file)
@@ -19,7 +19,7 @@
   <link rel="shortcut icon" href="style/lanteaIcon16.png" type="image/png">
 </head>
 <body id="body">
-<noscript><p><img src="https://piwik.kairo.at/piwik.php?idsite=2" style="border:0;" alt="" /></p></noscript>
+<noscript><p><img src="https://matomo.kairo.at/piwik.php?idsite=2" style="border:0;" alt="" /></p></noscript>
 <h1>Lantea Map</h1>
 
 <div id="trackArea" class="menuDrawer secondaryUI hidden">
index 9f95971c37823d6102f5ad275eff40843e31add3..ac50370bb0f97433944bd777a4b932addacaf3d1 100644 (file)
--- a/js/map.js
+++ b/js/map.js
@@ -6,10 +6,7 @@ var gGLMapCanvas, gTrackCanvas, gGeolocation;
 var gDebug = false;
 
 var gMinTrackAccuracy = 1000; // meters
-var gTrackWidth = 2; // pixels
-var gTrackColor = "#FF0000";
-var gCurLocSize = 6; // pixels
-var gCurLocColor = "#A00000";
+var gCenterDelayAfterMove = 3000; // milliseconds
 
 var gMapStyles = {
   // OSM tile usage policy: http://wiki.openstreetmap.org/wiki/Tile_usage_policy
@@ -52,6 +49,11 @@ var gMapStyles = {
      url: "https://tilecache[1-4].kairo.at/osmhot/{z}/{x}/{y}.png", // route through CORS+SSL tilecache @ kairo.at
      //url: "http://[a-c].tile.openstreetmap.fr/hot/{z}/{x}/{y}.png", // https has CAcert which doesn't work in browsers
      copyright: 'Map data and imagery &copy; <a href="http://www.openstreetmap.org/">OpenStreetMap</a> contributors, <a href="http://www.openstreetmap.org/copyright">ODbL/CC-BY-SA</a>'},
+  opentopomap:
+    {name: "OpenTopoMap",
+     //url: "https://tilecache[1-4].kairo.at/opentopomap/{z}/{x}/{y}.png", // route through tilecache @ kairo.at
+     url: "https://[a-c].tile.opentopomap.org/{z}/{x}/{y}.png",
+     copyright: 'Map data: © <a href="https://openstreetmap.org/copyright">OpenStreetMap</a> contributors, <a href="http://viewfinderpanoramas.org">SRTM</a> | map style: © <a href="https://opentopomap.org">OpenTopoMap</a> (<a href="https://creativecommons.org/licenses/by-sa/3.0/">CC-BY-SA</a>)'},
   hikebike:
     {name: "Hike and Bike (OSM)",
      url: "https://tilecache[1-4].kairo.at/hikebike/{z}/{x}/{y}.png", // route through CORS+SSL tilecache @ kairo.at
@@ -92,6 +94,7 @@ var gGeoWatchID, gGPSWakeLock;
 var gTrack = [];
 var gLastTrackPoint;
 var gCenterPosition = true;
+var gLastMoveAction = null;
 
 function initMap() {
   gGeolocation = navigator.geolocation;
@@ -648,7 +651,12 @@ var gTrackLayer = {
   lastRequestedIndex: null, // may not have been actually drawn...
   drawRequested: false,
   restartDrawing: true,
+
   maxDrawTime: 10, // max time allowed for drawing a section, in ms - 10 means we can do 100 fps smoothly
+  trackWidth: 2, // pixels
+  trackColor: "#FF0000",
+  curLocSize: 6, // pixels
+  curLocColor: "#A00000",
 
   drawTrack: function(needRestart = true) {
     // TODO: figure out if we can support reverse drawing while initially loading the track.
@@ -716,9 +724,9 @@ var gTrackLayer = {
       }
     }
     if (!gTrackLayer.lastDrawnPoint || !gTrackLayer.lastDrawnPoint.optimized) {
-      gTrackLayer.context.strokeStyle = gTrackColor;
+      gTrackLayer.context.strokeStyle = gTrackLayer.trackColor;
       gTrackLayer.context.fillStyle = gTrackLayer.context.strokeStyle;
-      gTrackLayer.context.lineWidth = gTrackWidth;
+      gTrackLayer.context.lineWidth = gTrackLayer.trackWidth;
       gTrackLayer.context.lineCap = "round";
       gTrackLayer.context.lineJoin = "round";
     }
@@ -769,7 +777,7 @@ var gTrackLayer = {
     // Only run this when visible and we are not drawing a track right now.
     if (gTrackLayer.context && document.hidden != true && !gTrackLayer.drawRequested) {
       var locpoint = gps2xy(trackPoint.coords.latitude, trackPoint.coords.longitude);
-      var circleRadius = Math.round(gCurLocSize / 2);
+      var circleRadius = Math.round(gTrackLayer.curLocSize / 2);
       var mappos = {x: Math.round((locpoint.x - gMap.pos.x) / gMap.zoomFactor + gMap.width / 2),
                     y: Math.round((locpoint.y - gMap.pos.y) / gMap.zoomFactor + gMap.height / 2)};
 
@@ -783,7 +791,7 @@ var gTrackLayer = {
                                                 mappos.y - circleRadius,
                                                 circleRadius * 2, circleRadius * 2)};
 
-      gTrackLayer.context.strokeStyle = gCurLocColor;
+      gTrackLayer.context.strokeStyle = gTrackLayer.curLocColor;
       gTrackLayer.context.fillStyle = gTrackLayer.context.strokeStyle;
       gTrackLayer.context.beginPath();
       gTrackLayer.context.arc(mappos.x, mappos.y,
@@ -973,6 +981,7 @@ var mapEvHandler = {
         gLastMouseX = x;
         gLastMouseY = y;
         showUI();
+        gLastMoveAction = performance.now();
         break;
       case "mousemove":
       case "touchmove":
@@ -1029,6 +1038,7 @@ var mapEvHandler = {
         }
         gLastMouseX = x;
         gLastMouseY = y;
+        gLastMoveAction = performance.now();
         break;
       case "mouseup":
       case "touchend":
@@ -1146,6 +1156,7 @@ var mapEvHandler = {
           gMap.pos.x -= dX * gMap.zoomFactor;
           gMap.pos.y -= dY * gMap.zoomFactor;
           gMap.draw();
+          gLastMoveAction = performance.now();
         }
         break;
     }
@@ -1237,7 +1248,7 @@ function startTracking() {
           gTrack.push(tPoint);
           try { gTrackStore.push(tPoint); } catch(e) {}
           var redrawn = false;
-          if (gCenterPosition) {
+          if (gCenterPosition && (!gLastMoveAction || performance.now() > gLastMoveAction + gCenterDelayAfterMove)) {
             var posCoord = gps2xy(position.coords.latitude,
                                   position.coords.longitude);
             if (Math.abs(gMap.pos.x - posCoord.x) > gMap.width * gMap.zoomFactor / 4 ||
index 19af8769c95b78cd8c62ad4ab8b7025050f099d3..19e18454745ecd4356233c47ef0fad0135fbc843 100644 (file)
@@ -4,7 +4,7 @@
   _paq.push(['trackPageView']);
   _paq.push(['enableLinkTracking']);
   (function() {
-    var u="https://piwik.kairo.at/";
+    var u="https://matomo.kairo.at/";
     _paq.push(['setTrackerUrl', u+'piwik.php']);
     _paq.push(['setSiteId', '2']);
     var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
index b4063494af8c3424497491f250f9377de3f8ee9b..ec8ef4073de95581ffe2876de1e4b704795e7baa 100644 (file)
@@ -17,7 +17,7 @@
 </head>
 <body>
 <header>
-<noscript><p><img src="/piwik/piwik.php?idsite=2" style="border:0;" alt="" /></p></noscript>
+<noscript><p><img src="/matomo/piwik.php?idsite=2" style="border:0;" alt="" /></p></noscript>
 <h1>Lantea Login</h1>
 </header>