Array of reachable range parameters, one for each area to calculate
Optionaloptions: { signal?: AbortSignal }Optionalsignal?: AbortSignalAn AbortSignal to cancel in-flight requests between iterations.
OptionalcustomTemplate: Partial<ReachableRangeTemplate>Advanced customization for request/response handling
Promise resolving to a FeatureCollection of reachable area polygons
Use cases:
Note: Ranges are calculated sequentially to avoid rate limiting. For large batches, consider implementing your own parallel processing with appropriate throttling.
// Calculate concentric drive time rings (15, 30, 45 minutes)
const timeRings = await calculateReachableRanges([
{ key: 'your-api-key', origin: [4.9, 52.3], timeBudgetInSec: 900 },
{ key: 'your-api-key', origin: [4.9, 52.3], timeBudgetInSec: 1800 },
{ key: 'your-api-key', origin: [4.9, 52.3], timeBudgetInSec: 2700 }
]);
// Compare service areas of multiple stores
const storeRanges = await calculateReachableRanges([
{ key: 'your-api-key', origin: [4.9, 52.3], timeBudgetInSec: 1800 },
{ key: 'your-api-key', origin: [4.5, 51.9], timeBudgetInSec: 1800 },
{ key: 'your-api-key', origin: [5.1, 52.1], timeBudgetInSec: 1800 }
]);
// Compare EV ranges at different battery levels
const batteryRanges = await calculateReachableRanges([
{
key: 'your-api-key',
origin: [4.9, 52.3],
fuelBudgetInkWh: 10,
vehicleEngineType: 'electric'
},
{
key: 'your-api-key',
origin: [4.9, 52.3],
fuelBudgetInkWh: 20,
vehicleEngineType: 'electric'
}
]);
Calculate multiple reachable range areas from different origins or with different constraints.
Computes several isochrone polygons in sequence, useful for comparing ranges from multiple locations, visualizing multiple time/distance rings from the same origin, or analyzing different vehicle scenarios.