Alternatives¶
Alternative Routes allows you to receive multiple route options for the same origin and destination points.
What are Alternative Routes?¶
The Alternative Routes feature calculates different route options for the same origin-destination pair. This allows you to:
- Compare routes
- Present options to the user
- Evaluate alternatives based on traffic or other factors
Basic Usage¶
Alternatives with Different Minimize Values¶
// Route 1: Duration-focused
{
"origin": {"latitude": 41.0082, "longitude": 28.9784},
"destination": {"latitude": 41.0150, "longitude": 28.9850},
"minimize": "duration"
}
// Route 2: Distance-focused
{
"origin": {"latitude": 41.0082, "longitude": 28.9784},
"destination": {"latitude": 41.0150, "longitude": 28.9850},
"minimize": "distance"
}
Use Cases¶
1. Route Comparison¶
Present different route options to users.
2. Cost Analysis¶
Compare the costs of different routes.
3. Contingency Planning¶
Prepare alternatives for the primary route.
Configuration¶
Minimize Parameter¶
| Value | Description |
|---|---|
duration |
Targets the shortest duration |
distance |
Targets the shortest distance |
Combination with Avoid Features¶
Alternative routes can be created using different avoidFeatures values:
// Route 1: Default
{"origin": {...}, "destination": {...}}
// Route 2: Avoiding toll roads
{"origin": {...}, "destination": {...}, "avoidFeatures": ["tollRoad"]}
// Route 3: Avoiding tunnels
{"origin": {...}, "destination": {...}, "avoidFeatures": ["tunnel"]}
Python Example¶
import requests
API_BASE_URL = "https://api.flio.ai"
API_KEY = "YOUR-API-KEY"
def get_alternatives(origin, destination):
alternatives = []
# Route 1: Duration-focused
resp1 = requests.post(
f"{API_BASE_URL}/solver/route?apiKey={API_KEY}",
json={"origin": origin, "destination": destination, "minimize": "duration"}
)
alternatives.append(resp1.json())
# Route 2: Distance-focused
resp2 = requests.post(
f"{API_BASE_URL}/solver/route?apiKey={API_KEY}",
json={"origin": origin, "destination": destination, "minimize": "distance"}
)
alternatives.append(resp2.json())
return alternatives
origin = {"latitude": 41.0082, "longitude": 28.9784}
destination = {"latitude": 41.0150, "longitude": 28.9850}
routes = get_alternatives(origin, destination)
for i, route in enumerate(routes):
summary = route['routes'][0]['summary']
print(f"Route {i+1}: {summary['distance']}m, {summary['duration']}s")
Alternative Routes — Flio.ai