2.7.0 • Published 8 months ago
react-native-place-picker v2.7.0
react-native-place-picker
demo | demo video |
---|---|
Features
- Theme customization.
- UI written natively.
- Location reverse-geocoding (coordinate -> address).
- Searchable (users can search for location).
- Device location.
- Fully configurable.
- Supporting Turbo Modules (New Arch) with backward capability.
- Renders on top of the app (Blazing Fast).
- Well typed.
- Significantly small package.
- No peer depedancies except React and React-Native [1]
How is it working?
This plugin is built only by create native page
UIViewController
for iOS orActivity
for Android. and present the page in front of React Native Application without any special dependencies just native code
Installation
npm install react-native-place-picker
# or
yarn add react-native-place-picker
Expo
- You need to add
expo-dev-client
and runexpo run:ios
orexpo run:android
Info Expo managed app not yet supported 🚧
iOS
- If you want to enable user current location button you have to add this to your
Info.plist
<key>NSLocationWhenInUseUsageDescription</key>
<string>YOUR_PURPOSE_HERE</string>
Android ⚠️
- Add to your
AndroidManifest.xml
you Google Map API Key or your application will crash
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="YOUR_KEY" />
Usage
Checkout the documentation
Request
import { pickPlace } from 'react-native-place-picker';
pickPlace({
enableUserLocation: true,
enableGeocoding: true,
color: '#FF00FF',
//...etc
})
.then(console.log)
.catch(console.log);
// or
pickPlace().then(console.log).catch(console.log);
Result
{
/**
* @description Selected coordinate.
*/
coordinate: PlacePickerCoordinate;
/**
* @description Geocoded address for selected location.
* @if `enableGeocoding: true`
*/
address?: PlacePickerAddress;
/**
* @description Did cancel the place picker window without selecting.
*/
didCancel: boolean;
}
Contributing
See the contributing guide to learn how to contribute to the repository and the development workflow.
License
MIT
Extra
1 The only liberary is used: Kotlin object parsing liberary com.fasterxml.jackson.module:jackson-module-kotlin:2.14.+
to parse Javascript parameters easily.