Expokit
DocsComponentsChartsBlocksPricing
Sign in
Get Pro
All components

Inputs

CalendarNewDate PickerNewFlip CalendarNewFloating InputOTP InputPassword InputRuler Time PickerProSearch BarSelectSliderStepperTextareaTime PickerNew

Selection

CheckboxChip GroupRadio GroupRatingProSegmented ControlSwitch

Buttons

ButtonFloating Action ButtonProMorphing Button GroupProQR Code ButtonProSlide to ConfirmProStateful Button

Feedback

AlertDrip ToastProProgressSkeletonSpinnerToast

Overlays

Action SheetNewBottom SheetDialogDrawerNew

Display

AccordionAvatarBadgeCardCarouselProGrain GradientNewList ItemNewMapProSwipeable RowProTimelineNew

Navigation

Bottom NavNewProgress StepsNewTabs

Motion

Number TickerProOrb RevealProText Animation

ExpoKit Pro

16 ready-made screens & apps. Copy in and ship.

Get Pro
Map
Need it custom?Screens or a full app, built by the dev behind ExpoKit.Sponsor ExpoKitFree stays free. Tip once — keep shipping.

ExpoKit Pro is live — launch price is 60% off until 30 NovClaim it

ExpoKit Pro is live — launch price is 60% off until 30 NovClaim it

Docs
IntroductionWhat ExpoKit is and how it worksInstallationAdd ExpoKit to an Expo appThemingColours, radius and dark modeCLIinit, add, login and updateAI assistants (MCP)Cursor, Claude, Antigravity and moreRun on your phoneTry components in Expo GoChangelogWhat shipped recently
npx @expokit/cli@latest initQuick start
Components
Liquid Glass9 iOS 26 glass pieces3DNew14 tilt, flip and stack
Inputs 13
  • CalendarNew
  • Date PickerNew
  • Flip CalendarNew
  • Floating Input
  • OTP Input
  • +8 more
Selection 6
  • Checkbox
  • Chip Group
  • Radio Group
  • RatingPro
  • Segmented Control
  • +1 more
Buttons 6
  • Button
  • Floating Action ButtonPro
  • Morphing Button GroupPro
  • QR Code ButtonPro
  • Slide to ConfirmPro
  • +1 more
Feedback 6
  • Alert
  • Drip ToastPro
  • Progress
  • Skeleton
  • Spinner
  • +1 more
Overlays 4
  • Action SheetNew
  • Bottom Sheet
  • Dialog
  • DrawerNew
Display 10
  • Accordion
  • Avatar
  • Badge
  • Card
  • CarouselPro
  • +5 more
Navigation 3
  • Bottom NavNew
  • Progress StepsNew
  • Tabs
Motion 3
  • Number TickerPro
  • Orb RevealPro
  • Text Animation
73 components · 341 live variantsAll components
Charts

Cartesian

  • Area Chart
  • Bar Chart
  • Line Chart
  • Combo Chart
  • Price ChartNew
  • Pill Bar ChartNew
  • Stacked Pill ChartNew
  • Range Bar ChartNew
  • Diverging Bar ChartNew

Circular

  • Pie & Donut
  • Radial Chart
  • Radar Chart
  • Polar AreaPro

Dashboard

  • Stat CardNew
  • Goal BarsNew
  • Bar ListNew
  • Segmented BarNew
  • Tick Bar ChartNew
  • Waffle ChartNew
  • Bead ChartNew
  • Calendar HeatmapNew

Gauges & Progress

  • Gauge
  • Score GaugeNew
  • Activity RingsNew
  • Fan GaugeNew
  • Tick RingNew
  • Liquid GaugeNew
  • Mini RingNew

3D & Pixel

  • 3D DonutNew
  • Cylinder Bar ChartNew
  • Isometric BarsPro
  • Pixel BarsPro

Specialty

  • TreemapPro
  • WaterfallPro
  • BulletPro
  • TimelinePro
  • Candlestick
  • Heatmap
  • Funnel

Classic

  • Sparkline
  • Progress Rings
  • MultiLine (classic)
  • StackedBar (classic)
  • Ranking Bars (classic)

Guides

  • Usage & config
  • Patterns & effects
  • Show / hide anything
  • Chart theming
  • Interactions
44 charts, built on the open-source expo-charts engineAll charts
Blocks

Screens

ChatProAn AI assistant chat screenCheckoutProA premium checkoutDashboardProA finance / analytics home screenDonut ShopProA dessert shop screen where the products rollInboxProA messaging inboxOnboardingProA minimal swipeable welcome flowPaywallProAnimated paywall screens people actually readProfileProAccount profile for any appSearch ResultsProA clean, monochrome search screenSettingsProAn iOS-style grouped settings screenSign InProOne configurable sign-in flow modelled on top mobile appsWelcome DeckProA welcome and sign-up screen built around a 3D fan of cards

App templates

  • AI assistant appPro
  • Business banking appPro
  • Food ordering appPro
12 complete screens — drop one in, wire your dataSee them on devices All templates All blocks
Pricing
DocsComponentsDisplayMap

React Native component for Expo: Map

A map with flying camera, clusters, animated pins and routes — no API key, works in Expo Go.

Also known as: map view, map without API key, map with pins and clusters, map without native module.

Pro<MapPin />3 variantsiOS · Android · Expo Go
9:41

Explore

Map

Installation

One command copies the source into your app — you own the code and can change anything.

Usage

Colours, radius and light / dark come from useKit(). Wrap your app in <KitProvider accent="#6366f1" radius={14}> to re-skin every component at once.

Props

PropTypeDefault
initialCamera

Where MapView opens.

{ center: [lng, lat], zoom }world
initialBounds

Open framing these points inside contentInset (wins over initialCamera).

[lng, lat][]—
theme

Basemap look; auto follows light / dark mode.

'auto' | 'light' | 'dark' | 'streets' | 'satellite''auto'
tileUrl

Your raster tiles: {z} {x} {y}, {r} → @2x on retina, {s} → subdomain.

stringEsri
tileMaxZoom

Deepest zoom your tiles exist at; past it they're scaled up.

number19
attribution

Credit line at the bottom-left.

string | nulltile credit
minZoom / maxZoom

Zoom limits.

number0 / 19
contentInset

Space your own UI covers; the camera centres and frames inside the rest.

{ top, right, bottom, left }0
onCameraChange

The camera came to rest.

(camera) => void—
onPress / onLongPress

Tap, or press and hold, on the map.

(coordinate) => void—
ref

flyTo, easeTo, fitBounds, zoomBy, getCamera. Inside the map, useMap() returns the same.

MapViewHandle—
MapPin

Ready-made marker.

{ coordinate, variant: 'pin' | 'pill' | 'dot', label, icon, color, selected, onPress }—
MapMarker

Any view pinned to a coordinate.

{ coordinate, anchor, rotation, moveDuration, onPress, children }—
MapClusters

Merges nearby markers into bubbles.

{ data, coordinate, keyExtractor, renderItem, renderCluster?, standalone?, radius }—
MapRoute

A line that draws itself on.

{ coordinates, color, width, casing, dashed, progress, track, animateIn }—
MapUserLocation

Pulsing location dot.

{ coordinate, heading, accuracy, color }—
MapCircle

A real-world-size circle.

{ center, radius (m), color, fillOpacity }—
MapControls

Zoom and locate buttons.

{ onLocate, following, position }—
pointAlong

Point and heading part-way along a line.

(coordinates, t) => { coordinate, bearing }—

Behaviour & accessibility

Touch
One finger drags and flings with momentum; two fingers pinch around their midpoint and pan at the same time. Double-tap zooms in where you tap, a two-finger tap zooms out, press and hold fires onLongPress.
Camera
flyTo zooms out, travels and zooms back in for far hops and glides for near ones; easeTo always glides; fitBounds frames a set of points inside contentInset, so nothing hides under your sheet.
Tiles
Sharp tiles fade in over a coarser layer two zooms out, so the map is never blank while loading. Tiles are only re-laid-out when the camera drifts far from them; every frame in between is a single transform on the UI thread.
Markers
Any view inside MapMarker stays the same size as you zoom. Give it a new coordinate and it glides there; give it a rotation and it turns the short way round. Pins drop in, tags and bubbles grow in.
Basemap
Esri's keyless light / dark canvas (with a separate label layer), streets and satellite tiles; auto follows the kit's light / dark mode. They're for building and demos: for production traffic pass tileUrl for a provider you have a plan with, and keep the credit line it asks for.
Screen readers
Markers and cluster bubbles are buttons named by their label; the controls are named Zoom in, Zoom out and Show my location.
Reduced motion
Camera moves, zooms and route drawing jump to their end; the location pulse stops.

FAQ

How do I make a map view in React Native?
Use ExpoKit's Map, a Pro component: with ExpoKit Pro, the ExpoKit CLI copies a ready-made map view into your Expo or React Native app as plain TypeScript you can edit. It works on iOS, Android and web, and in Expo Go.
Does Map work in Expo Go?
Yes. Map runs in Expo Go on iOS and Android with no development build — its packages (react-native-reanimated, react-native-worklets, react-native-gesture-handler, react-native-svg) are all included in Expo Go.
How do I add Map to my Expo app?
With ExpoKit Pro, add it with the ExpoKit CLI: it copies the component's source into your app and installs react-native-reanimated, react-native-worklets, react-native-gesture-handler, react-native-svg, so the code is yours to change. The install command is on this page for Pro members.
Is Map free?
Map is part of ExpoKit Pro. With a Pro plan, log the CLI in once (npx @expokit/cli@latest login) and it installs the full source into your app.
Can I change how Map looks?
Yes. It takes its colours, radius and light / dark mode from useKit(), so wrapping your app in <KitProvider accent radius> re-skins it with every other ExpoKit component. The code lives in your project, so you can also edit anything directly.

Source

PreviousList ItemNextSwipeable Row

Need this tailored to your app?

Custom components, screens or a full Expo app — designed and built by the developer behind ExpoKit.

Custom work

Did you like the content?

9:41

9:41

Pro component Pro

Sign in with a free account to try this component live. The source and CLI install come with Pro.

Sign in to try it See pricing

Pro component

Free account to try it live

Sign inPricing

The install command is part of ExpoKit Pro Pro

See pricingSign in

Manual installation is part of ExpoKit Pro Pro

See pricingSign in

The usage example is part of ExpoKit Pro Pro

See pricingSign in

The source is part of ExpoKit Pro Pro

See pricingSign in