Skip to main content

Traffic Events

|

The Maps SDK for Android provides real-time information about traffic events, such as delays, which can occur in various forms.

When enabled and supported by the applied map style, traffic events are visually represented on the map as red overlays on affected road segments.

Based on the source of the event:

  • Most traffic events are provided by the Magic Lane servers if online and provide up-to-date traffic data
  • The user can add custom user-defined roadblocks in order to blacklist certain road segments or areas.

Based on the impact zone:

  • The traffic event can be a path-based traffic area, following the shape of a road.
  • The traffic event can be an area-based traffic area, including a larger geographic area.

The central class for handling both traffic events and roadblocks is TrafficEvent. Instances of this class can be obtained either through user interaction with the map (e.g., selecting a road segment) or as part of user-defined roadblock operations. For route-specific traffic data, the SDK provides the RouteTrafficEvent class, which extends TrafficEvent by including detailed information relevant to a specific route. These events are provided by the route.

Traffic events, including delays and user-defined roadblocks, are fully integrated into the routing and navigation logic. This ensures that calculated routes dynamically account for traffic conditions and any restricted segments.

TrafficEvent structure

The TrafficEvent class has the following structure:

MemberTypeDescription
isRoadblock()BooleanReturns true if the event represents a roadblock.
delayIntEstimated delay in seconds caused by the traffic event. For roadblocks it returns -1.
lengthIntLength in meters of the road segment affected by the traffic event.
referencePointCoordinates?The central coordinate for the event. Returns null if not available.
boundingBoxRectangleGeographicArea?Geographical bounding box surrounding the event.
descriptionString?Human-readable description of the traffic event.
eventClassETrafficEventClassClassification of the traffic event.
eventSeverityETrafficEventSeveritySeverity level of the event.
imageImage?Image of the traffic event. Returns null if not available.
previewUrlString?Returns a URL to preview the traffic event. Returns null if not available.
isUserRoadblock()BooleanReturns true if the event is a user-defined roadblock.
affectedTransportModeIntReturns all transport modes affected by the event as a bitmask.
startTimeTime?UTC start time of the traffic event, if available.
endTimeTime?UTC end time of the traffic event, if available.
hasOppositeSibling()BooleanReturns true if a sibling event exists in the opposite direction. Relevant for path-based events.

RouteTrafficEvent structure

The RouteTrafficEvent class extends TrafficEvent with the following members:

MemberTypeDescription
distanceToDestinationIntDistance in meters from starting point on current route of the traffic event to the destination.
fromCoordinates?Route traffic event start point.
toCoordinates?Route traffic event end point.
fromLandmarkPair<Landmark,Boolean>?Traffic event start point as landmark and a flag indicating if data is cached locally.
toLandmarkPair<Landmark,Boolean>?Traffic event end point as landmark and a flag indicating if data is cached locally.
asyncUpdateToFromData()UnitUpdates the from and to landmarks' address and description info from the server.
cancelUpdate()UnitCancels the pending async update request for landmark data.

Usage

Traffic Event Classes and Severities

Traffic events provide insights into road conditions, delays, closures, and more.

info

Some events provided by the ETrafficEventClass are:

  • TrafficRestrictions
  • Roadworks
  • Parking
  • Delays
  • Accidents
  • RoadConditions
info

ETrafficEventSeverity possible values are:

  • Stationary
  • Queuing
  • SlowTraffic
  • PossibleDelay
  • Unknown