mapbox / mapbox/mapbox-navigation-ios

Allow map ornaments to be located at the bottom of the map

Open
#2,895 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature jira-sync-complete UI
Dominant language
Swift
Stars
918
Forks
326
Avg merge
1h 16m
Merged PRs (30d)
3

Description

As of #2763, the developer can set NavigationViewController.floatingButtonsPosition to swap the the floating buttons (such as the feedback button) and speed limit view to opposite sides of the map view, but there isn’t a built-in way to move these controls to the bottom left and right corners of the map view. Moreover, it isn’t possible to move the Resume button to a location other than the bottom leading (bottom left in English) corner of the map view.

The MapOrnamentPosition enumeration should have additional cases for the bottom leading and trailing corners, and NavigationView.reinstallConstraints() should respect these cases.

Any automatic interaction between the floating buttons, speed limit view, and Resume button can get complex, so NavigationViewController ideally would have new properties alongside floatingButtonsPosition that control the position of the speed limit view and Resume button independently; if the developer sets one property but not the others, then the UI would end up with more than one type of control stacked in one corner.

/cc @mapbox/navigation-ios

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 by reading the MapOrnamentPosition enumeration and NavigationView.reinstallConstraints(), then trace how NavigationViewController.floatingButtonsPosition currently affects ornament placement. Define the bottom leading and trailing cases and determine how independent speed limit and Resume button properties should interact. Done means the new positions are supported without ambiguous control stacking.

Written by the indexing model from the issue text.

Assessment

Tech stack
swift
Domain
mobile
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.