This commit is contained in:
rxf
2023-03-25 19:43:26 +01:00
parent d10b274fe0
commit 9acf053b18
4 changed files with 48 additions and 41 deletions
+2 -1
View File
@@ -13,6 +13,7 @@ const __dirname = path.dirname(__filename);
import indexRouter from './routes/index.js' import indexRouter from './routes/index.js'
import apiRouter from './routes/api.js' import apiRouter from './routes/api.js'
import chartRouter from './routes/api.js'
// import getdataRouter from './routes/getdata.js' // import getdataRouter from './routes/getdata.js'
// import putdataRouter from './routes/putdata.js' // import putdataRouter from './routes/putdata.js'
@@ -29,7 +30,7 @@ app.use(express.static(path.join(__dirname, 'public')));
app.use('/api', apiRouter) app.use('/api', apiRouter)
app.use('/', indexRouter); app.use('/', indexRouter);
// app.use('/users', usersRouter); app.use('/chart', chartRouter);
// catch 404 and forward to error handler // catch 404 and forward to error handler
app.use(function(req, res, next) { app.use(function(req, res, next) {
+2 -2
View File
@@ -22,7 +22,7 @@ const PlotDayLive_Noise = async (sid) => {
let aktVal = {} let aktVal = {}
// read the data from the server // read the data from the server
const url = `/api/getsensordata?&sensorid=${sid}` const url = `/chart/getsensordata?&sensorid=${sid}`
let ret = await fetch(url) let ret = await fetch(url)
.catch(e => { .catch(e => {
logerror(e) logerror(e)
@@ -62,10 +62,10 @@ const PlotDayLive_Noise = async (sid) => {
'</tr></table>' + '</tr></table>' +
'</div>' '</div>'
} }
let txtMeldung = false
} else { } else {
utils.showError(data.err) utils.showError(data.err)
} }
let txtMeldung = false
// Plot-Options // Plot-Options
+42 -36
View File
@@ -2,6 +2,7 @@
import * as dt from './datetime.js' import * as dt from './datetime.js'
import * as chart_live from "./chart_live.js"; import * as chart_live from "./chart_live.js";
import * as utils from "./chart_utilities.js";
let map = null let map = null
let bounds let bounds
@@ -154,52 +155,57 @@ export async function buildMarkers() {
west: bounds.getWest(), south: bounds.getSouth(), west: bounds.getWest(), south: bounds.getSouth(),
east: bounds.getEast(), north: bounds.getNorth() east: bounds.getEast(), north: bounds.getNorth()
} }
const url = `/api/getmapdata?type=noise&box=${bounds.toBBoxString()}` const url = `/chart/getmapdata?type=noise&box=${bounds.toBBoxString()}`
let ret = await fetch(url) let ret = await fetch(url)
.catch(e => { .catch(e => {
console.log(e) console.log(e)
}); });
let sensors = await ret.json() let sensors = await ret.json()
let markers = L.markerClusterGroup({ if (!sensors.err) {
spiderfyOnMaxZoom: true, let markers = L.markerClusterGroup({
showCoverageOnHover: false, spiderfyOnMaxZoom: true,
zoomToBoundsOnClick: true, showCoverageOnHover: false,
// disableClusteringAtZoom: 14, zoomToBoundsOnClick: true,
iconCreateFunction: function (cluster) { // disableClusteringAtZoom: 14,
let mymarkers = cluster.getAllChildMarkers(); iconCreateFunction: function (cluster) {
let color = getMedian(mymarkers); let mymarkers = cluster.getAllChildMarkers();
return new L.Icon({ let color = getMedian(mymarkers);
iconUrl: buildIcon(color, cluster.getChildCount(), 0), return new L.Icon({
iconSize: [35, 35] iconUrl: buildIcon(color, cluster.getChildCount(), 0),
}); iconSize: [35, 35]
}, });
}); },
});
for (let x of sensors.values) { for (let x of sensors.values) {
if (x.value <= -4) { if (x.value <= -4) {
continue continue
}
let marker = L.marker([x.location[1], x.location[0]], {
icon: new L.Icon({
iconUrl: buildIcon(getColor(parseInt(x.value)), 0, x.indoor),
iconSize: [35, 35],
}),
name: x.id,
value: x.value,
url: '/graph?sid=' + x.id,
lastseen: dt.formatISODate(x.lastseen),
indoor: x.indoor
})
.on('click', e => onMarkerClick(e, true)) // define click- and
.bindPopup(popuptext); // and bint the popup text
markers.addLayer(marker);
} }
let marker = L.marker([x.location[1], x.location[0]], { map.addLayer(markers);
icon: new L.Icon({ return sensors.lastdate
iconUrl: buildIcon(getColor(parseInt(x.value)),0,x.indoor), } else {
iconSize: [35, 35], utils.showError(sensors.err)
}),
name: x.id,
value: x.value,
url: '/graph?sid=' + x.id,
lastseen: dt.formatISODate(x.lastseen),
indoor: x.indoor
})
.on('click', e => onMarkerClick(e, true)) // define click- and
.bindPopup(popuptext); // and bint the popup text
markers.addLayer(marker);
} }
map.addLayer(markers);
return sensors.lastdate
} }
async function onMarkerClick(e, click) {
async function onMarkerClick(e, click) {
let item = e.target.options; let item = e.target.options;
clickedSensor = item.name; clickedSensor = item.name;
@@ -274,7 +280,7 @@ async function showLastDate(ld) {
// console.log(e) // console.log(e)
// } // }
// fetch all sensors // fetch all sensors
const url = `/api/getmapdata?type=noise` const url = `/chart/getmapdata?type=noise`
let ret = await fetch(url) let ret = await fetch(url)
.catch(e => { .catch(e => {
console.log(e) console.log(e)
+2 -2
View File
@@ -27,7 +27,7 @@ block content
.tab-content#thetabs .tab-content#thetabs
.tab-pane.fade.show.active#t_map(role="tabpanel" aria-labelledby="map-tab") .tab-pane.fade.show.active#t_map(role="tabpanel" aria-labelledby="map-tab")
#map MapTAB #map
#mapdateactsens #mapdateactsens
#actsensors #actsensors
#mapdate #mapdate
@@ -41,7 +41,7 @@ block content
.tab-pane.fade#t_daynight(role="tabpanel" aria-labelledby="map-tab") .tab-pane.fade#t_daynight(role="tabpanel" aria-labelledby="map-tab")
#ddaynight DayNightTAB #ddaynight DayNightTAB
.tab-pane.fade#t_lden(role="tabpanel" aria-labelledby="map-tab") .tab-pane.fade#t_lden(role="tabpanel" aria-labelledby="map-tab")
#dlden LdenTAB #dlden
// Error-Dialog // Error-Dialog