Navvo
Guides

React Native SDK

Install and use @navvo/react-native-maps — a NavvoMapView component plus a fully typed NavvoServices client for search, geocoding, places, routing, traffic and more.

React Native SDK

The official @navvo/react-native-maps package gives you two things:

  • <NavvoMapView/> — an embeddable, interactive Navvo basemap component (camera, markers, style switching, GeoJSON shape/line/fill wrappers) pointed at Navvo's GET /tiles/style.
  • NavvoServices — a fully typed (TypeScript) client for the Navvo Web Service (search, geocode, places, routing, traffic, matrix, isochrone, weather, EV, transit…).

Everything is Navvo-branded and only ever calls https://navvo.io/api/v1. Coordinates are uniformly { lat, lng }.

Install

npm install @navvo/react-native-maps

The package declares its embedded map-engine binding as a peer dependency — install prompts will guide you; iOS needs a pod install afterwards.

Initialize

import { NavvoMaps } from '@navvo/react-native-maps';

NavvoMaps.initialize({ apiKey: 'nvvo_YOUR_KEY' });
Provide your API key. Without a key the basemap renders with a "Navvo Map Developer (Provide Your API Key)" watermark on every tile. Basemap attribution is © Navvo.

Display a map

import { NavvoMapView, NavvoMarker } from '@navvo/react-native-maps';

<NavvoMapView
  styleName="standard" // standard · dark · positron · satellite · terrain · 3d
  camera={{ center: { lat: 31.9539, lng: 35.9106 }, zoom: 12 }}
  onPress={(p) => console.log(p)}
>
  <NavvoMarker id="a" position={{ lat: 31.9539, lng: 35.9106 }} />
</NavvoMapView>

Use the services (no map required)

import { NavvoServices } from '@navvo/react-native-maps';

const svc = NavvoServices.instance; // uses the key from NavvoMaps.initialize

const result = await svc.search('coffee in Abdoun', { near: { lat: 31.95, lng: 35.91 }, limit: 8 });
const plan = await svc.plan({
  locations: [{ lat: 31.95, lng: 35.91 }, { lat: 31.99, lng: 35.95 }],
  costing: 'auto',
});

Errors

Every call throws a typed error class: NavvoAuthError (401), NavvoScopeError (403), NavvoNotFoundError (404), NavvoValidationError (400/422), NavvoRateLimitError (429, honours Retry-After), NavvoServerError (5xx), NavvoNetworkError/NavvoAbortError. place(slug) resolves null for unknown slugs.

<NavvoMapView/> renders via an embedded open-source map engine under the hood — you only ever interact with Navvo components and Navvo endpoints.
Copyright © 2026