forked from TDTP/admin_transporte_frontend
actualiza la posicion de buses cada 30 segundos
parent
8b0b209d59
commit
add1eadaae
|
@ -36,8 +36,15 @@
|
||||||
let ver_paraderos = false
|
let ver_paraderos = false
|
||||||
let markers_paraderos = []
|
let markers_paraderos = []
|
||||||
let markers_buses = []
|
let markers_buses = []
|
||||||
|
let timeInterval = null
|
||||||
|
|
||||||
onMount(() => { create_map() })
|
onMount(() => {
|
||||||
|
create_map()
|
||||||
|
|
||||||
|
return () => {
|
||||||
|
timeInterval && globalThis.clearInterval(timeInterval)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
function create_map() {
|
function create_map() {
|
||||||
if (!elMap || !globalThis.L) return;
|
if (!elMap || !globalThis.L) return;
|
||||||
|
@ -95,6 +102,7 @@
|
||||||
async function onMostrarRuta(id_operador, id_linea) {
|
async function onMostrarRuta(id_operador, id_linea) {
|
||||||
try {
|
try {
|
||||||
loading = true
|
loading = true
|
||||||
|
timeInterval && globalThis.clearInterval(timeInterval)
|
||||||
polyline && polyline.remove()
|
polyline && polyline.remove()
|
||||||
marker1 && marker1.remove()
|
marker1 && marker1.remove()
|
||||||
marker2 && marker2.remove()
|
marker2 && marker2.remove()
|
||||||
|
@ -142,13 +150,21 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
async function onMostrarBuses(ver_buses) {
|
async function onMostrarBuses(ver_buses) {
|
||||||
// 1. eliminar marcadores anteriores
|
|
||||||
markers_buses.forEach(marker => marker.remove())
|
|
||||||
|
|
||||||
if (!ver_buses || !id_linea) return;
|
if (!ver_buses && timeInterval) {
|
||||||
|
globalThis.clearInterval(timeInterval)
|
||||||
|
timeInterval = null
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ver_buses || !id_linea) {
|
||||||
|
markers_buses.forEach(marker => marker.remove())
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const buses = await getBusesLinea(id_linea)
|
const buses = await getBusesLinea(id_linea)
|
||||||
console.log({ buses })
|
|
||||||
|
// 1. eliminar marcadores anteriores
|
||||||
|
markers_buses.forEach(marker => marker.remove())
|
||||||
|
|
||||||
// 2. crear marcadores
|
// 2. crear marcadores
|
||||||
for (let mark of buses) {
|
for (let mark of buses) {
|
||||||
|
@ -158,7 +174,11 @@
|
||||||
|
|
||||||
marker.bindTooltip(html)
|
marker.bindTooltip(html)
|
||||||
markers_buses.push(marker)
|
markers_buses.push(marker)
|
||||||
console.log({ marker })
|
}
|
||||||
|
|
||||||
|
// actualizar posicion de buses cada 30 segundos
|
||||||
|
if (!timeInterval) {
|
||||||
|
timeInterval = globalThis.setInterval(() => onMostrarBuses(true), 30000)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue