Fix user location visibility and improve map zoom to include both user and optimal stop
This commit is contained in:
@ -568,6 +568,10 @@ async function highlightOptimalStopForRoute() {
|
||||
} catch (e) {
|
||||
console.warn('🤖 JARVIS: Falló la geolocalización automática:', e);
|
||||
}
|
||||
} else {
|
||||
// Si ya tenemos coordenadas, nos aseguramos de que el marcador esté dibujado
|
||||
// ya que el flujo principal (limpiarMapa) lo borra.
|
||||
reDrawUserMarker();
|
||||
}
|
||||
|
||||
if (!userCoords.value || routeStore.selectedRouteStops.length === 0) {
|
||||
@ -589,11 +593,20 @@ async function highlightOptimalStopForRoute() {
|
||||
const stopObj = paradaCercana.value as BusStop;
|
||||
console.log(`🤖 JARVIS: Parada óptima detectada: ${stopObj.name}`);
|
||||
|
||||
// Restaurar centrado y zoom en la parada óptima para que el usuario la vea claramente
|
||||
setCenter(stopObj.latitude, stopObj.longitude);
|
||||
setZoom(17); // Zoom más cercano para ver la parada y alrededores
|
||||
// PASO 0: Asegurar que el usuario y la parada óptima sean visibles al mismo tiempo
|
||||
const bounds = new google.maps.LatLngBounds();
|
||||
bounds.extend(new google.maps.LatLng(userCoords.value.lat, userCoords.value.lng));
|
||||
bounds.extend(new google.maps.LatLng(stopObj.latitude, stopObj.longitude));
|
||||
|
||||
// Aplicar zoom inteligente con padding para no cortar los marcadores
|
||||
map.value?.fitBounds(bounds, {
|
||||
top: 100, // espacio para el buscador/navbar
|
||||
bottom: 250, // espacio para el ETACard que saldrá luego
|
||||
left: 80,
|
||||
right: 80
|
||||
});
|
||||
|
||||
// Añadir el PULSO NARANJA
|
||||
// Añadir el PULSO NARANJA (Parada)
|
||||
if (optimalStopPulse.value && typeof optimalStopPulse.value.setMap === 'function') {
|
||||
optimalStopPulse.value.setMap(null);
|
||||
// Clear listeners for the old pulse marker
|
||||
|
||||
Reference in New Issue
Block a user