@@ -388,6 +388,7 @@ async def waypoint_route(
388388 "travelMode" : payload .travel_mode ,
389389 "routingPreference" : payload .routing_preference or "TRAFFIC_AWARE" ,
390390 "computeAlternativeRoutes" : False ,
391+ "optimizeWaypointOrder" : False ,
391392 "routeModifiers" : {
392393 "avoidTolls" : False ,
393394 "avoidHighways" : False ,
@@ -475,6 +476,7 @@ async def waypoint_route(
475476 static_duration += int (static_duration_str .rstrip ('s' ))
476477 # Distance:
477478 distance_meters = leg .get ('distanceMeters' , 0 )
479+ distance_miles = distance_meters / 1609.34 if distance_meters else 0
478480 total_distance += distance_meters
479481 if leg .get ('steps' ) and len (leg ['steps' ]) > 0 :
480482 # Get the first step's navigation instruction
@@ -484,13 +486,13 @@ async def waypoint_route(
484486 # Get localized distance for this leg
485487 leg_distance = leg .get (
486488 'localizedValues' , {}
487- ).get ('distance' , {}).get ('text' , f"{ leg [ 'distanceMeters' ] / 1609.34 :.1f} mi" ) or f" { distance_meters / 1609.34 :.1f } mi" # noqa: E501
489+ ).get ('distance' , {}).get ('text' , f"{ distance_miles :.1f} mi" ) # noqa: E501
488490 bestroute .append (f"Leg { i + 1 } : { instruction } for { leg_distance } " )
489491 else :
490492 # Fallback if no navigation instruction
491493 leg_distance = leg .get (
492494 'localizedValues' , {}
493- ).get ('distance' , {}).get ('text' , f"{ leg [ 'distanceMeters' ] / 1609.34 :.1f} mi" ) or f" { distance_meters / 1609.34 :.1f } mi" # noqa: E501
495+ ).get ('distance' , {}).get ('text' , f"{ distance_miles :.1f} mi" ) # noqa: E501
494496 bestroute .append (f"Leg { i + 1 } : Continue for { leg_distance } " )
495497 # Convert duration to minutes
496498 total_duration_min = total_duration / 60 if total_duration > 0 else 0
0 commit comments