mapbox / mapbox/mapbox-navigation-ios
Allow map ornaments to be located at the bottom of the map
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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