# Custom `<Marker>` children are invisible on iOS with the New Architecture (icon view stays 0×0)

Open
#5,971 5 comments 9 reactions 0 assignees View on GitHub

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

bug
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_GOOGLE and with Apple Maps.
  • Not tracksViewChanges — forcing it permanently true changes nothing.
  • Not mount timing — holding markers back until after onMapReady changes nothing.
  • Not component registration — RNMapsGoogleMarkerView is in the app's
    RCTThirdPartyComponentsProvider, and the real implementation is what compiled
    (2.2 MB object file defining the class; PlaceHolderGoogleMarkerView.o is empty,
    so HAVE_GOOGLE_MAPS is 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

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.

More from react-native-maps/react-native-maps

All issues in react-native-maps/react-native-maps

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.