mapcn-react-native
Advanced

Mapbox specifics

Capabilities and escape hatches specific to the Mapbox renderer.

Package

@rnmapbox/maps@^10.3.5, installed and managed by the CLI. Mapbox collapses renderer and basemap provider into one -- init/provider don't prompt for a separate basemap provider when the renderer is Mapbox.

Capabilities only Mapbox has

CapabilityNotes
pulsing / scale / images on Location puckNative <LocationPuck> supports a pulsing animation, custom scale, and custom top/bearing/shadow images. No MapLibre equivalent.
Native feature state (setFeatureState/getFeatureState)Not used by mapcn's own components -- selection is implemented via filter expressions on both renderers so there's no capability gap in mapcn's public API, but it remains available as a raw escape hatch.
querySourceFeaturesMapbox-only native query method, available via the raw mapRef.
Globe projection (projection="globe")A Mapbox-only MapView prop, reachable via the mapbox escape-hatch prop bag on Map.

Two required tokens

TokenTypeWhere it's used
EXPO_PUBLIC_MAPBOX_TOKENPublic runtime tokenRead by the app at runtime to authenticate style/tile requests.
MAPBOX_DOWNLOADS_TOKENBuild-time secretRequired by the Android build to download the Mapbox SDK. Never give this an EXPO_PUBLIC_ prefix.

doctor warns if MAPBOX_DOWNLOADS_TOKEN isn't set when the renderer is Mapbox.

Expo plugin

{ "expo": { "plugins": ["@rnmapbox/maps"] } }

Cannot coexist with @maplibre/maplibre-react-native in the same app.json.

Renderers & providers · MapLibre specifics · Renderer compatibility matrix

On this page