mapbox / mapbox/mapbox-maps-android
Persistent Marker Flickering on Android Map View
Nobody has claimed this yet.
- Dominant language
- Kotlin
- Stars
- 578
- Forks
- 161
- PR merge metrics
- No merged PRs in 30d
Description
Environment
- Android OS version: [e.g., Android 13 (API 33)]
- Devices affected: [e.g., Pixel 7 Pro, Samsung S23, Android Emulator]
- Maps SDK Version: [e.g., v10.16.1 or v11.0.0]
Observed behavior and steps to reproduce
We are experiencing a visual regression where map markers (annotations) flicker, flash, or temporarily vanish and reappear. This is most noticeable during camera movement or when the map state is updated.
Steps to reproduce:
- Initialize
MapView. - Add a data source containing point annotations (using [e.g., PointAnnotationManager or a SymbolLayer]).
- Pan, zoom, or rotate the map camera quickly.
- Observation: Markers do not move smoothly with the map; instead, they flicker or toggle visibility rapidly.
Evidence
https://github.com/user-attachments/assets/4e1e4d1d-8c92-4b23-8d7d-9455daf294a3
Expected behavior
The markers should remain visually stable and anchored to their coordinates without flashing. The visibility state should be consistent regardless of camera velocity or minor zoom level changes.
Notes / preliminary analysis
We suspect the issue originates from the rendering engine's collision detection or Z-ordering logic.
- Collision Logic: It appears the engine is recalculating
icon-allow-overlaportext-allow-overlapon every frame, causing icons to be hidden and reshown unnecessarily. - View Annotations: If using View Annotations, there may be a desynchronization between the Android View system and the GL Surface updates.
- Texture Atlas: If using custom bitmaps, the symbol layer might be reloading the image source repeatedly.
Additional links and references
- Code Snippet:
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 reviewing the supplied reproduction steps and evidence, then inspect the referenced GlobeView.kt and GlobeNativeComponent.ts files. Reproduce the flickering with MapView during camera movement and determine which annotation setup is affected; done means markers remain stable and anchored without flashing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, kotlin
- Domain
- computer-graphics, mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100