diff --git a/apps/openstmap/ChangeLog b/apps/openstmap/ChangeLog index 1b0edaf34..239b89abc 100644 --- a/apps/openstmap/ChangeLog +++ b/apps/openstmap/ChangeLog @@ -32,3 +32,4 @@ 0.25: Enable scaled image filtering on 2v19+ firmware 0.26: Ensure that when redrawing, we always cancel any in-progress track draw 0.27: Display message if no map is installed +0.28: Fix rounding errors diff --git a/apps/openstmap/app.js b/apps/openstmap/app.js index d66936c29..7c015cfc8 100644 --- a/apps/openstmap/app.js +++ b/apps/openstmap/app.js @@ -65,14 +65,16 @@ function redraw() { // Draw the POIs function drawPOI() { + let waypoints; try { - var waypoints = require("waypoints").load(); + waypoints = require("waypoints").load(); } catch (ex) { // Waypoints module not available. return; } g.setFont("Vector", 18); waypoints.forEach((wp, idx) => { + if (wp.lat === undefined || wp.lon === undefined) return; var p = m.latLonToXY(wp.lat, wp.lon); var sz = 2; g.setColor(0,0,0); @@ -80,7 +82,7 @@ function drawPOI() { g.setColor(0,0,0); g.drawString(wp.name, p.x, p.y); //print(wp.name); - }) + }); } function isInside(rect, e, w, h) { @@ -170,6 +172,7 @@ function showMenu() { var menu = { "":{title:/*LANG*/"Map"}, "< Back": ()=> showMap(), + /*LANG*/"Exit": () => load(), }; // If we have a GPS fix, add a menu item to center it if (fix.fix) menu[/*LANG*/"Center GPS"]=() =>{ @@ -177,6 +180,7 @@ function showMenu() { m.lon = fix.lon; showMap(); }; + menu = Object.assign(menu, { /*LANG*/"Zoom In": () =>{ m.scale /= 2; @@ -230,7 +234,6 @@ function showMenu() { } }; } - menu[/*LANG*/"Exit"] = () => load(); E.showMenu(menu); } diff --git a/apps/openstmap/interface.html b/apps/openstmap/interface.html index 3427fa882..df5c0acc9 100644 --- a/apps/openstmap/interface.html +++ b/apps/openstmap/interface.html @@ -45,7 +45,11 @@