diff --git a/src/pages/mapas/FiltroRutas.svelte b/src/pages/mapas/FiltroRutas.svelte
index d1ddb53..2b9674c 100644
--- a/src/pages/mapas/FiltroRutas.svelte
+++ b/src/pages/mapas/FiltroRutas.svelte
@@ -7,6 +7,7 @@
export let codigo;
export let ver_buses;
export let ver_paraderos;
+ export let loading = false;
let operadores = []
let lineas = []
@@ -82,5 +83,11 @@
+ {#if loading}
+
+ Loading...
+
+ {/if}
+
diff --git a/src/pages/mapas/Rutas.svelte b/src/pages/mapas/Rutas.svelte
index ec41415..8f581a6 100644
--- a/src/pages/mapas/Rutas.svelte
+++ b/src/pages/mapas/Rutas.svelte
@@ -37,6 +37,8 @@
let markers_paraderos = []
let markers_buses = []
let timeInterval = null
+ let fileproto = null
+ let loading_proto = false
onMount(() => {
create_map()
@@ -161,25 +163,37 @@
return;
}
- const buses = await getBusesLinea(id_linea)
+ loading_proto = true
+ try {
+ const { fileproto: nuevoNombre, buses } = await getBusesLinea(id_linea)
+ if (nuevoNombre !== fileproto) {
+ // guardo el nombre del archivo proto
+ fileproto = nuevoNombre
+
+ // 1. eliminar marcadores anteriores
+ markers_buses.forEach(marker => marker.remove())
- // 1. eliminar marcadores anteriores
- markers_buses.forEach(marker => marker.remove())
-
- // 2. crear marcadores
- for (let mark of buses) {
- const { latitude: lat, longitude: lng } = mark
- const marker = L.marker([lat, lng], { icon: iconAutobus }).addTo(myMap)
- const html = `${mark.Patente_vehiculo}
Velocidad: ${mark.speed}`
-
- marker.bindTooltip(html)
- markers_buses.push(marker)
+ // 2. crear marcadores
+ for (let mark of buses) {
+ const { latitude: lat, longitude: lng } = mark
+ const marker = L.marker([lat, lng], { icon: iconAutobus }).addTo(myMap)
+ const html = `${mark.Patente_vehiculo}
Velocidad: ${mark.speed}`
+
+ marker.bindTooltip(html)
+ markers_buses.push(marker)
+ }
+ }
+ } catch (error) {
+ console.log({ error })
+ } finally {
+ loading_proto = false
}
- // actualizar posicion de buses cada 30 segundos
+ // actualizar posicion de buses cada 45 segundos
if (!timeInterval) {
- timeInterval = globalThis.setInterval(() => onMostrarBuses(true), 30000)
+ timeInterval = globalThis.setInterval(() => onMostrarBuses(true), 45000)
}
+
}
@@ -209,7 +223,9 @@
bind:codigo={codigo}
bind:ver_buses={ver_buses}
bind:ver_paraderos={ver_paraderos}
+ loading={loading_proto}
/>
+
{#if id_operador && codigo}