mapbox / mapbox/mapbox-maps-flutter

Support Location Override

Open
#1,085 2 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Dart
Stars
380
Forks
204
PR merge metrics
No merged PRs in 30d

Description

Enable native location override to take incoming user locations and pass it through into mapbox. Trying to override the current experience using layers to mock a blue dot and shifting the camera to follow the blue dot feels inauthentic leading to a poor user experience.

Current limitation
  • The Flutter SDK does not expose location.override(provider:) (iOS) or overrideLocationProvider (Android).
  • FollowPuckViewportState follows Mapbox's internal GPS provider.
Desired behaviour
  • Provide an API to override the location provider in Flutter.
  • Allow injecting external location updates (lat, lon, accuracy, heading) from Dart into the overridden provider.
  • When overridden, Mapbox GPS should not be active
  • FollowPuckViewportState should smoothly follow the injected locations, preserving the current UX.

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 tracing the Flutter location API alongside the native location.override(provider:) and overrideLocationProvider entry points. Review how FollowPuckViewportState obtains location updates, then define the override lifecycle and verify that injected latitude, longitude, accuracy, and heading updates are followed without the Mapbox GPS provider remaining active.

Written by the indexing model from the issue text.

Assessment

Tech stack
dart, flutter
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.