+ Universal maps for{' '} + React Native +
+ +
+ One MapView{' '}
+ for Apple Maps and Google Maps on iOS, Android, and Web. Markers,
+ shapes, overlays, GeoJSON, and static maps, all native.
+
-
+ {PLATFORMS.map((platform) => (
+
- + {platform.name} + +
- + {platform.providers} + +
+ Declarative +
++ Just React. Everything is a child of the map. +
++ Markers, polylines, polygons, and overlays are plain components. + Update props, and the native map follows. No imperative + bookkeeping, no ids to track. +
++ Features +
++ Everything a map needs. Nothing you have to wire up. +
++ {feature.title} +
++ {feature.description} +
++ Components +
++ A small, focused API. +
++ Ship a map in minutes. +
++ Install the package, add your API key with the Expo config plugin, + and render a map. Works with Expo and bare React Native. +
+
+
> [!IMPORTANT]
> This library is currently under heavy development. APIs may change without notice.
-## Installation
+## Documentation
-```sh
-npm install @lugg/maps
-```
-
-### Expo
-
-Add the plugin to your `app.json`:
-
-```json
-{
- "expo": {
- "plugins": [
- [
- "@lugg/maps",
- {
- "iosGoogleMapsApiKey": "YOUR_IOS_API_KEY",
- "androidGoogleMapsApiKey": "YOUR_ANDROID_API_KEY"
- }
- ]
- ]
- }
-}
-```
+Full documentation lives at **[maps.lodev09.com](https://maps.lodev09.com)**.
-### Bare React Native
+- [Installation](https://maps.lodev09.com/docs/installation) - Expo, bare React Native, and web setup
+- [Usage](https://maps.lodev09.com/docs/usage) - Render your first map
+- [MapView](https://maps.lodev09.com/docs/components/map-view) - Props, camera methods, events, static maps
+- [Marker](https://maps.lodev09.com/docs/components/marker) - Custom views, callouts, dragging
+- [Polyline](https://maps.lodev09.com/docs/components/polyline), [Polygon](https://maps.lodev09.com/docs/components/polygon), [Circle](https://maps.lodev09.com/docs/components/circle) - Shapes
+- [GeoJson](https://maps.lodev09.com/docs/components/geojson), [GroundOverlay](https://maps.lodev09.com/docs/components/ground-overlay), [TileOverlay](https://maps.lodev09.com/docs/components/tile-overlay) - Data and overlays
+- [Types](https://maps.lodev09.com/docs/types) - `Coordinate`, `Point`, `EdgeInsets`
-#### iOS
+## Quick start
-Add your Google Maps API key to `AppDelegate.swift`:
-
-```swift
-import GoogleMaps
-
-// In application(_:didFinishLaunchingWithOptions:)
-GMSServices.provideAPIKey("YOUR_API_KEY")
-```
-
-#### Android
-
-Add your Google Maps API key to `AndroidManifest.xml`:
-
-```xml
-