Use the official maplibre-react-native fork for true native map views on iOS and Android. The same maps.guru style URL works; auth travels on every tile.
pnpm add @maplibre/maplibre-react-nativeimport MapLibreGL from '@maplibre/maplibre-react-native';
import { StyleSheet } from 'react-native';
const MAP_STYLE = 'https://maps.guru/api/v1/styles/standard/light/style.json?key=YOUR_API_KEY';
export default function CityMap() {
return (
<MapLibreGL.MapView
style={styles.map}
mapStyle={MAP_STYLE}
logoEnabled={false}
compassEnabled
>
<MapLibreGL.Camera
zoomLevel={11}
centerCoordinate={[77.209, 28.6139]}
/>
<MapLibreGL.PointAnnotation
coordinate={[77.209, 28.6139]}
id="delhi"
/>
</MapLibreGL.MapView>
);
}
const styles = StyleSheet.create({
map: { flex: 1 },
});
The React Native SDK renders straight to the platform’s OpenGL / Metal context. Web preview is skipped — install the package and run on a simulator to see live tiles.
Free-tier generous enough for real production traffic. 50,000 tile requests/month , no credit card.
Yes with a custom dev client (EAS Build). The package uses native modules, so it cannot run in the standard Expo Go sandbox.
No, pass the maps.guru style URL straight in. We recommend caching it locally via the disk cache for offline support.
The vocabulary behind vector tiles, styles, and geocoding, in plain language.
Join developers worldwide who trust maps.guru for their mapping needs. Start free, no credit card required.