This is the documentation of version 0.58.1. Go to the latest version, 1.0.0-rc.5.
TomTom Maps for JavaScript
    Preparing search index...

    Function calculateReachableRange

    • Calculate the area reachable from a starting point within given constraints.

      The Reachable Range service (also known as isochrone) computes a polygon representing all locations that can be reached from an origin within specified limits of time, distance, or energy consumption. This is essential for range analysis, service area visualization, and logistics planning.

      Parameters

      Returns Promise<PolygonFeature<ReachableRangeProperties>>

      Promise resolving to a polygon representing the reachable area

      Private Preview: needs an API key with Calculate Reachable Range access, unavailable on a Freemium or Pay As You Grow (PAYG) basis: request it from TomTom Sales.

      Key features:

      • Time-based ranges: Areas reachable within a time budget (e.g., 30 minutes)
      • Distance-based ranges: Areas within a distance limit (e.g., 50km)
      • Energy-based ranges: EV range considering battery consumption
      • Traffic awareness: Accounts for current and historic traffic patterns
      • Vehicle-specific: Considers vehicle characteristics and constraints

      Common use cases:

      • Service area mapping: "Show areas we can deliver to within 1 hour"
      • EV range visualization: Display drivable range on current battery
      • Real estate: "Find homes within 45 minutes of workplace"
      • Emergency services: Calculate ambulance/fire truck response areas
      • Market analysis: Identify customer catchment areas
      • Location planning: Optimize facility placement based on coverage
      // Calculate 30-minute drive time range
      const range30min = await calculateReachableRange({
      origin: [4.9041, 52.3676], // Amsterdam
      budget: { type: 'timeMinutes', value: 30 }
      });

      // EV range down to 20% remaining battery
      const evRange = await calculateReachableRange({
      origin: [4.9041, 52.3676],
      budget: { type: 'remainingChargePCT', value: 20 },
      vehicle: {
      engineType: 'electric',
      model: {
      engine: {
      consumption: {
      speedsToConsumptionsKWH: [
      { speedKMH: 50, consumptionUnitsPer100KM: 8 },
      { speedKMH: 80, consumptionUnitsPer100KM: 12 }
      ]
      },
      charging: { maxChargeKWH: 60 }
      }
      },
      state: { currentChargePCT: 80 }
      }
      });

      // Traffic-aware range at departure time
      const morningRange = await calculateReachableRange({
      origin: [4.9041, 52.3676],
      budget: { type: 'timeMinutes', value: 45 },
      when: { option: 'departAt', date: new Date('2025-10-20T08:00:00Z') } // Rush hour
      });