Traffic Flow Module
The Traffic Flow Module controls the map layers that display real-time traffic speed conditions across the entire road network using color-coded road segments. Green indicates free-flowing traffic, yellow/orange represents moderate speeds, and red shows congestion. Dark gray indicates road closures.
Looking for something else?
- For traffic events (accidents, closures, construction) across the map, see Traffic Incidents Module
- For traffic incidents along a specific route, see Routing Module
Initialization
import { TomTomMap, TrafficFlowModule } from '@tomtom-org/maps-sdk/map';
const map = new TomTomMap( { mapLibre: { container: 'map' } });const trafficFlowModule = await TrafficFlowModule.get(map);Visibility
Traffic flow is hidden by default. This helps you control better when you want it to appear on the map.
You can make it visible during initialization:
const trafficFlowModule = await TrafficFlowModule.get(map, { visible: true });You can change visibility later using the setVisible method.
trafficFlowModule.setVisible(true);Filtering
A filter can be applied either during module initialization or later using the filter method.
// Initialize with filterconst trafficFlowModule = await TrafficFlowModule.get(map, { filters: ...,});
// Apply or update filter latertrafficFlowModule.filter(...);Road Category
Display traffic flow only for specific road types:
// Show only major highwaystrafficFlowModule.filter({ any: [{ roadCategories: { show: 'only', values: ['motorway', 'trunk'] } }]});
// Hide local streetstrafficFlow.filter({ any: [{ roadCategories: { show: 'all_except', values: ['street'] } }]});
// Show only major local roads within tertiary categorytrafficFlow.filter({ any: [{ roadCategories: { show: 'only', values: ['tertiary'] }, roadSubCategories: { show: 'only', values: ['major_local'] } }]});Available Road Categories:
motorway- Major highwaystrunk- Major roadsprimary- Primary roadssecondary- Secondary roadstertiary- Tertiary roadsstreet- Local streets
Available Road Subcategories:
tertiaryconnecting- Roads connecting different areasmajor_local- Major roads within local areas
streetlocal- Standard local streetsminor_local- Minor residential streets
Road Closures
Display or exclude road closures:
// Show only road closurestrafficFlow.filter({ any: [{ showRoadClosures: 'only' }]});
// Exclude road closurestrafficFlow.filter({ any: [{ showRoadClosures: 'all_except' }]});Multiple Filters
Combine multiple filter criteria using “any” logic:
// Show motorways OR road closurestrafficFlow.filter({ any: [ { roadCategories: { show: 'only', values: ['motorway'] } }, { showRoadClosures: 'only' } ]});Reset Filters
Remove all filters and show all traffic flow:
trafficFlow.filter(undefined);Events
Handle user interactions with traffic flow segments:
// Click eventstrafficFlow.events.on('click', (feature) => { ...});
// Hover eventstrafficFlow.events.on('hover', (feature) => { ...});
// Long hover eventstrafficFlow.events.on('long-hover', (feature) => { ...});
// Remove event listenerstrafficFlow.events.off('click', handler);API Reference
For complete documentation of all Traffic Flow Module properties, methods, and types, see the TrafficFlowModule API Reference .
Related Guides and Examples
Traffic Overview
- Traffic Overview - Overview of all traffic visualization options including flow, incidents, and route-specific traffic
Related Traffic Modules
- Traffic Incidents Module - Display real-time traffic events and incidents
- Routing Module - Display routes with traffic incidents along the path
Related Examples
- Traffic Flow - Interactive traffic flow visualization with filtering
- Traffic Config Playground - Explore traffic configuration options