diff --git a/README.md b/README.md index f54c2e8..fdfb1b2 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,7 @@ # ISSUE note - [ ] L'orario di inserimento del marker risulta essere -4h prima dell'orario di inserimento reale. (nel db invece è storato con -2h rispetto orario reale) -- [ ] per fetchare i nuovi marker ogni XXXX secondi al layer marker viene aggiunto un altro layer marker, invece di cancellare il vecchio layer e caricare il nuovo. (Si nota dall'ombra dei marker sulla mappa che ogni XXXX secondi aumenta di intensità) -- [ ] Il form di inserimento dati non si pulisce più da solo quando in una stessa sessione si caricano più marker +- [ ] per fetchare i nuovi marker ogni 5 secondi al layer marker viene aggiunto un altro layer marker, invece di cancellare il vecchio layer e caricare il nuovo. (Si nota dall'ombra dei marker sulla mappa che ogni 5 secondi aumenta di intensità) - [ ] Quando si trova la propria posizione utilizzando la funzione GPS, non si riesce a inserire/cliccare sul punto in cui ci si trova finchè non si disattiva la funzione GPS

Commit a casa di cek [[commit 89019f168c](https://git.lattuga.net/scossa/ruscomap/commit/89019f168c6155b4d3243a53120358bdcc15fb39)] diff --git a/public/js/map.js.con_bug_che_non_visualizza_prericaricaPagina_i_dati_del_marker_appena_aggiunto b/public/js/map.js.con_bug_che_non_visualizza_prericaricaPagina_i_dati_del_marker_appena_aggiunto new file mode 100644 index 0000000..2f63a8b --- /dev/null +++ b/public/js/map.js.con_bug_che_non_visualizza_prericaricaPagina_i_dati_del_marker_appena_aggiunto @@ -0,0 +1,60 @@ +import { initMarkers, createMarker } from "./markerHandler.js"; +import { initEvents } from "./eventHandler.js"; +import { mapInit } from "./mapInit.js"; + + +let editMode = false; +let map = mapInit(); +let lastUpdateCheck = new Date().getTime(); +let markersArray = []; // Array to hold the markers + +// Initialize events +initEvents(map); +fetchAllMarkers(); + +// Function to fetch all markers initially +async function fetchAllMarkers() { + const response = await fetch('/markers'); + const markers = await response.json(); + + // Clear existing markers before adding new ones + clearMarkers(); + + markers.forEach(marker => { + createMarker(marker, L, map); + }); +} + +// Function to clear existing markers from the map +function clearMarkers() { + markersArray.forEach(marker => { + map.removeLayer(marker); // Remove each marker from the map + }); + markersArray = []; // Clear the array +} + +// Function to fetch new markers periodically +export async function fetchNewMarkers() { + let response = await fetch('/updateMarkers?' + new URLSearchParams({ fromDate: lastUpdateCheck }), { + method: 'GET', + }); + + let markers = await response.json(); + console.log(markers); + + // Clear existing markers before adding new ones + clearMarkers(); + + markers.forEach(marker => { + const newMarker = createMarker(marker, L, map); + markersArray.push(newMarker); // Store the new marker in the array + }); + + lastUpdateCheck = new Date().getTime(); +} + +// Set an interval to fetch new markers every 5 seconds +setInterval(fetchNewMarkers, 5000); + +// Initial fetch of all markers +fetchAllMarkers();