55 lines
1.6 KiB
Markdown
55 lines
1.6 KiB
Markdown
# @lynkedup/map-sdk
|
|
|
|
A small TypeScript wrapper around `react-native-maps` to provide a consistent API and typed components.
|
|
|
|
## Usage
|
|
|
|
Install peer deps in your app:
|
|
|
|
```
|
|
npm install react-native react-native-maps
|
|
# and add this package via workspace or npm/yarn
|
|
```
|
|
|
|
Basic usage:
|
|
|
|
```ts
|
|
import React from 'react';
|
|
import { MapView, Marker } from '@lynkedup/map-sdk';
|
|
|
|
export default function App() {
|
|
return (
|
|
<MapView
|
|
style={{ flex: 1 }}
|
|
initialRegion={{ latitude: 37.78825, longitude: -122.4324, latitudeDelta: 0.0922, longitudeDelta: 0.0421 }}
|
|
>
|
|
<Marker coordinate={{ latitude: 37.78825, longitude: -122.4324 }} />
|
|
</MapView>
|
|
);
|
|
}
|
|
```
|
|
|
|
## Camera Controls 🔧
|
|
|
|
This package exposes a small imperative `MapHandle` API via `ref` on `MapView`. Use it to animate the camera or fit bounds.
|
|
|
|
Example:
|
|
|
|
```ts
|
|
const mapRef = useRef<MapHandle | null>(null);
|
|
mapRef.current?.flyTo({ latitude: 37.78825, longitude: -122.4324 });
|
|
mapRef.current?.fitBounds({ latitude: 37.809, longitude: -122.410 }, { latitude: 37.779, longitude: -122.450 });
|
|
```
|
|
|
|
Available methods:
|
|
|
|
- `animateToRegion(region, duration?)` — animate to a region.
|
|
- `animateCamera(camera, options?)` — animate using camera properties.
|
|
- `flyTo(coordinate, duration?)` — quick helper that animates to a small region around `coordinate`.
|
|
- `fitBounds(northEast, southWest, options?)` — fit the two coordinates with optional `edgePadding`.
|
|
|
|
---
|
|
|
|
## Notes
|
|
- This package delegates to `react-native-maps` for platform implementations. Follow `react-native-maps` docs for iOS/Android setup (Google Maps API key, pods, manifest permissions).
|