Fixed error in elevation routes

Was hardcoded to load relative config file
This commit is contained in:
Davide Passoni 2024-02-20 11:38:02 +01:00
parent 97b277edda
commit 8390a25c50
2 changed files with 26 additions and 24 deletions

View File

@ -10,7 +10,7 @@ module.exports = function (configLocation) {
/* Default routers */
var atcRouter = require('./routes/api/atc');
var airbasesRouter = require('./routes/api/airbases');
var elevationRouter = require('./routes/api/elevation');
var elevationRouter = require('./routes/api/elevation')(configLocation);
var databasesRouter = require('./routes/api/databases')(path.join(path.dirname(configLocation), "..", "Mods", "Services", "Olympus", "databases"));
var indexRouter = require('./routes/index');
var uikitRouter = require('./routes/uikit');

View File

@ -1,28 +1,30 @@
const express = require('express');
var fs = require('fs');
const router = express.Router();
const TileSet = require('srtm-elevation').TileSet;
const SRTMElevationDownloader = require('srtm-elevation').SRTMElevationDownloader;
module.exports = function (configLocation) {
const express = require('express');
var fs = require('fs');
const router = express.Router();
const TileSet = require('srtm-elevation').TileSet;
const SRTMElevationDownloader = require('srtm-elevation').SRTMElevationDownloader;
let rawdata = fs.readFileSync('../../olympus.json');
let config = JSON.parse(rawdata);
var tileset = null;
let rawdata = fs.readFileSync(configLocation);
let config = JSON.parse(rawdata);
var tileset = null;
if (config["frontend"] === undefined || config["frontend"]["elevationProvider"] === undefined)
tileset = new TileSet('./hgt');
else
tileset = new TileSet('./hgt', {downloader: new SRTMElevationDownloader('./hgt', config["frontend"]["elevationProvider"])});
if (config["frontend"] === undefined || config["frontend"]["elevationProvider"] === undefined)
tileset = new TileSet('./hgt');
else
tileset = new TileSet('./hgt', {downloader: new SRTMElevationDownloader('./hgt', config["frontend"]["elevationProvider"])});
router.get( "/:lat/:lng", ( req, res ) => {
tileset.getElevation([req.params.lat, req.params.lng], function(err, elevation) {
if (err) {
console.log('getElevation failed: ' + err.message);
res.send("n/a");
} else {
res.send(String(elevation));
}
router.get( "/:lat/:lng", ( req, res ) => {
tileset.getElevation([req.params.lat, req.params.lng], function(err, elevation) {
if (err) {
console.log('getElevation failed: ' + err.message);
res.send("n/a");
} else {
res.send(String(elevation));
}
});
});
});
module.exports = router;
return router;
}