mapbox / mapbox/mapbox-navigation-android

Route traffic summary

Open
#4,559 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature jira-sync-complete needs discussion
Dominant language
Kotlin
Stars
651
Forks
321
PR merge metrics
No merged PRs in 30d

Description

This ticket tracks the discussion of adding a summary of traffic on the entire route, suitable for display to the user on the route overview screen.

This should summarize the traffic on the route currently (as opposed to comparing the current conditions to typical conditions of the same route).

Could be either
- enum, one of a fixed set of values.
- string, already-localized description (with localization).

Noting that @mapbox/navigation-ios is currently implementing and exposing this client side. Capturing from @1ec5

> For reference, this feature is similar to one in the iOS navigation SDK that colors the ETA label at the bottom of turn-by-turn navigation based on the predominant traffic congestion level along the remaining portion of the route. [`RouteProgress.averageCongestionLevelRemainingOnLeg`](https://github.com/mapbox/mapbox-navigation-ios/blob/62b1622b8290b7a974ca9a0a7f39b5f986e5ae8d/Sources/MapboxCoreNavigation/RouteProgress.swift#L201-L239) is public but undocumented. An implementation of the specific label above would be simpler in that it can consider every segment along the entire route unconditionally, so all that’s left is to iterate over those segments, summing up the durations of heavy segments, durations of moderate segments, etc., and determining the highest congestion level based on these sums.

@jyrigo @AhmerKhan1 is this a feature we want to support?

@mapbox/navigation-api @mapbox/navnative @danpat is this something we should expose on _Router_s side? Also cc'ing @vanmaxim for visibility as currently working on the Hybrid Router.

cc @zugaldia @truburt @mapbox/navigation-android

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the referenced RouteProgress.averageCongestionLevelRemainingOnLeg implementation in RouteProgress.swift and review the discussion about exposing this from the Router side. Define whether the Android SDK should expose a fixed enum or localized string for current, route-wide congestion, and consider the feature complete when the representation and exposure point are agreed and implemented.

Written by the indexing model from the issue text.

Assessment

Tech stack
kotlin, swift
Domain
api, mobile
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.