TomTom Maps for JavaScript
    Preparing search index...

    Function calculateReachableRanges

    • 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.

      Parameters

      • paramsArray: ReachableRangeParams[]

        Array of reachable range parameters, one for each area to calculate

      • Optionaloptions: { signal?: AbortSignal }
        • Optionalsignal?: AbortSignal

          An AbortSignal to cancel in-flight requests between iterations.

      • OptionalcustomTemplate: Partial<ReachableRangeTemplate>

        Advanced customization for request/response handling

      Returns Promise<PolygonFeatures<ReachableRangeParams>>

      Promise resolving to a FeatureCollection of reachable area polygons

      Use cases:

      • Multi-location comparison: Compare service areas of different store locations
      • Concentric ranges: Create 15/30/45 minute drive time rings from one origin
      • Scenario analysis: Compare ranges for different vehicle types or times of day
      • Coverage optimization: Find optimal facility locations with minimal overlap

      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'
      }
      ]);