TomTom Maps for JavaScript
    Preparing search index...

    Function calculateReachableRange

    • Calculates 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 or distance. It is essential for range analysis, service area visualization and logistics planning.

      Parameters

      • params: ReachableRangeParams

        The reachable range parameters, including the origin and budget constraints.

      Returns Promise<PolygonFeature<ReachableRangeProperties>>

      A polygon of the reachable area.

      Private Preview. It needs an API key with Calculate Reachable Range access, which is not available on a Freemium or Pay As You Grow (PAYG) basis. To get one, request it from TomTom Sales.

      It computes time-based ranges, the areas reachable within a time budget (e.g., 30 minutes), and distance-based ranges, the areas within a distance limit (e.g., 50km). It accounts for current and historic traffic patterns, and considers vehicle characteristics and constraints.

      Use it for service area mapping ("Show areas we can deliver to within 1 hour"), real estate ("Find homes within 45 minutes of workplace"), ambulance or fire truck response areas, customer catchment areas in market analysis, or optimising 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 }
      });

      // 50 km range for a heavy truck
      const truckRange = await calculateReachableRange({
      origin: [4.9041, 52.3676],
      budget: { type: 'distanceKM', value: 50 },
      vehicle: { model: { dimensions: { weightKG: 40000 } } }
      });

      // Traffic-aware range at departure time
      const morningRange = await calculateReachableRange({
      origin: [4.9041, 52.3676],
      budget: { type: 'timeMinutes', value: 45 },
      when: { option: 'departAt', localDateTime: '2026-10-19T08:00:00' } // Rush hour in Amsterdam
      });