# Custom `<Marker>` children are invisible on iOS with the New Architecture (icon view stays 0×0)
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- ios, react-native, typescript
- Domain
- mobile
Research direction
Start by reproducing the issue with React Native 0.86.2 and Fabric on iOS, then trace the marker view path around RNMapsGoogleMarkerView and its registration in RCTThirdPartyComponentsProvider. Compare custom and bare markers on both providers; done means marker icon views receive non-zero frames and render, with regression coverage for the reported cases.
Written by the indexing model from the issue text.
Description
Summary
On iOS with Fabric, a <Marker> whose icon is a custom child view never appears.
The marker is created and is attached to the map — its icon view simply has a
frame of {0, 0, 0, 0}, and Google Maps draws a zero-sized icon view as nothing.
Android is unaffected. <Polyline> and the map itself render correctly, which is
what makes this look like a data or coordinate problem at first.
Reproducible sample code
<MapView provider={PROVIDER_GOOGLE} initialRegion={region} style={{flex: 1}}>
{mosques.map(m => (
<Marker key={m.id} coordinate={{latitude: m.lat, longitude: m.lng}}>
<View style={{alignItems: 'center'}}>
<View style={{width: 34, height: 34, borderRadius: 17, borderWidth: 2.5}} />
<View style={{width: 2.5, height: 9}} />
</View>
</Marker>
))}
</MapView>
Steps to reproduce
<MapView provider={PROVIDER_GOOGLE} initialRegion={region} style={{flex: 1}}>
{mosques.map(m => (
<Marker key={m.id} coordinate={{latitude: m.lat, longitude: m.lng}}>
<View style={{alignItems: 'center'}}>
<View style={{width: 34, height: 34, borderRadius: 17, borderWidth: 2.5}} />
<View style={{width: 2.5, height: 9}} />
))}
Expected result
the custom pins appear.
Actual result
nothing appears. The map, its POIs, and any <Polyline> render fine.
React Native Maps Version
1.29.0
What platforms are you seeing the problem on?
iOS (Apple Maps), iOS (Google Maps)
React Native Version
0.86.2
What version of Expo are you using?
Not using Expo
Device(s)
Iphone 17 pro max
Additional information
Each of these was tested on a real build, and none of them is the cause:
- Not the custom children — a bare
<Marker coordinate title />with no children
is also invisible. - Not the provider — reproduces with
PROVIDER_GOOGLEand with Apple Maps. - Not
tracksViewChanges— forcing it permanentlytruechanges nothing. - Not mount timing — holding markers back until after
onMapReadychanges nothing. - Not component registration —
RNMapsGoogleMarkerViewis in the app's
RCTThirdPartyComponentsProvider, and the real implementation is what compiled
(2.2 MB object file defining the class;PlaceHolderGoogleMarkerView.ois empty,
soHAVE_GOOGLE_MAPSis correctly set). - Not data — a
<Polyline>drawn through the very same marker coordinates renders.
- Dominant language
- TypeScript
- Stars
- 16k
- Forks
- 5k
- Avg merge
- 9d 9h
- Merged PRs (30d)
- 3
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.
More from react-native-maps/react-native-maps
-
Difficulty 1/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
react-native-maps/react-native-maps#5987 · 1 comment ·
All issues in react-native-maps/react-native-maps
Similar issues
-
comp/dashboard P3 type/bug
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
NousResearch/hermes-agent#117722 ·
-
clawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster no-stale P3
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficulty 1/5 Under an hour Newbie friendliness 76/100
-
code-quality refactoring
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
github/gh-aw-firewall#8816 ·
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
langchain-ai/deepagents#6450 ·