fix: geolocalización GPS corregida con fallback por coordenadas

This commit is contained in:
2026-05-23 03:54:05 -06:00
parent 8296839ec7
commit e69fb36c49
4 changed files with 43 additions and 8 deletions

View File

@@ -81,6 +81,20 @@ def crear_domicilio(data: schemas.DomicilioCreate,
db: Session = Depends(get_db)):
colonia_key = data.colonia.lower()
colonia_info = simulator.COLONIAS.get(colonia_key)
if not colonia_info:
# Buscar por similitud parcial
for key, value in simulator.COLONIAS.items():
if key in colonia_key or colonia_key in key:
colonia_info = value
break
if not colonia_info:
# Buscar por route_id si viene en el nombre
ruta, _ = simulator.encontrar_ruta_por_coordenadas(data.lat, data.lng)
if ruta:
colonia_info = next(
(v for v in simulator.COLONIAS.values() if v["routeId"] == ruta["routeId"]),
None
)
if not colonia_info:
raise HTTPException(status_code=404, detail="Colonia no encontrada en el sistema")
dom = models.Domicilio(direccion=data.direccion, colonia=data.colonia,