{"id":28088912,"url":"https://github.com/b0iq/react-native-place-picker","last_synced_at":"2025-05-13T12:52:23.970Z","repository":{"id":39747248,"uuid":"504600977","full_name":"b0iq/react-native-place-picker","owner":"b0iq","description":"Pick any place with single click 🚀","archived":false,"fork":false,"pushed_at":"2024-09-23T08:02:13.000Z","size":3992,"stargazers_count":123,"open_issues_count":2,"forks_count":9,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-09T21:07:46.844Z","etag":null,"topics":["android","expo","ios","kotlin","react","react-native","reactjs","swift","typescript"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/b0iq.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-17T16:21:54.000Z","updated_at":"2025-05-06T14:33:56.000Z","dependencies_parsed_at":"2024-09-18T20:31:54.542Z","dependency_job_id":null,"html_url":"https://github.com/b0iq/react-native-place-picker","commit_stats":{"total_commits":35,"total_committers":4,"mean_commits":8.75,"dds":0.5428571428571429,"last_synced_commit":"60583096d72c8230c060a923c531ce47b8c0e3cc"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b0iq%2Freact-native-place-picker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b0iq%2Freact-native-place-picker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b0iq%2Freact-native-place-picker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b0iq%2Freact-native-place-picker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/b0iq","download_url":"https://codeload.github.com/b0iq/react-native-place-picker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253324537,"owners_count":21890858,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","expo","ios","kotlin","react","react-native","reactjs","swift","typescript"],"created_at":"2025-05-13T12:52:23.147Z","updated_at":"2025-05-13T12:52:23.930Z","avatar_url":"https://github.com/b0iq.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n      \u003ca href=\"https://badge.fury.io/js/react-native-place-picker\"\u003e\n      \u003cimg alt=\"NPM Version\" src=\"https://badge.fury.io/js/react-native-place-picker.svg\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/b0iq/react-native-place-picker/actions\"\u003e\n      \u003cimg alt=\"Tests Passing\" src=\"https://github.com/anuraghazra/github-readme-stats/workflows/Test/badge.svg\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/anuraghazra/github-readme-stats/graphs/contributors\"\u003e\n      \u003cimg alt=\"GitHub Contributors\" src=\"https://img.shields.io/github/contributors/b0iq/react-native-place-picker\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://codecov.io/gh/b0iq/react-native-place-picker\"\u003e\n      \u003cimg src=\"https://codecov.io/gh/b0iq/react-native-place-picker/branch/master/graph/badge.svg\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/b0iq/react-native-place-picker/issues\"\u003e\n      \u003cimg alt=\"Issues\" src=\"https://img.shields.io/github/issues/b0iq/react-native-place-picker?color=0088ff\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/b0iq/react-native-place-picker/pulls\"\u003e\n      \u003cimg alt=\"GitHub pull requests\" src=\"https://img.shields.io/github/issues-pr/b0iq/react-native-place-picker?color=0088ff\" /\u003e\n    \u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n  \u003c/p\u003e\n  \n### Features\n\n- [x] 🎨 Theme customization.\n- [x] 📱 UI written natively.\n- [x] 🗺️ Location reverse-geocoding (coordinate -\u003e address).\n- [x] 🔍 Searchable (users can search for location).\n- [x] 📍 Device location.\n- [x] ⚙️ Fully configurable.\n- [x] 🏗️ Supporting Turbo Modules (New Arch) with backward compatibility.\n- [x] ⚡ Renders on top of the app (Blazing Fast).\n- [x] 📐 Well typed.\n- [x] 📦 Significantly small package.\n- [x] 🔗 No peer dependencies except React and React-Native \u003csup\u003e[[1]](#extra)\u003c/sup\u003e.\n\n### How is it working?\n\n\u003e This plugin is built only by create native page `UIViewController` for iOS or `Activity` for Android. and present the page in front of React Native Application without any special dependencies just native code\n\n## Installation\n\n```sh\nnpm install react-native-place-picker\n# or\nyarn add react-native-place-picker\n# or\npnpm add react-native-place-picker\n# or\nbun add react-native-place-picker\n```\n\n### Expo\n\n- You need to add `expo-dev-client` and run `expo run:ios` or `expo run:android`\n\n\u003e **Info** Expo managed app not supported 🚧\n\n### iOS\n\n- If you want to enable user current location button you have to add this to your `Info.plist`\n\n```xml\n\u003ckey\u003eNSLocationWhenInUseUsageDescription\u003c/key\u003e\n\u003cstring\u003eYOUR_PURPOSE_HERE\u003c/string\u003e\n```\n\n### Android ⚠️\n\n- Add to your `AndroidManifest.xml` you Google Map API Key or your application will crash\n\n```xml\n\u003cmeta-data\n   android:name=\"com.google.android.geo.API_KEY\"\n   android:value=\"YOUR_KEY\" /\u003e\n```\n\n### Request\n\n```js\nimport { pickPlace } from \"react-native-place-picker\";\n\npickPlace({\n  enableUserLocation: true,\n  enableGeocoding: true,\n  color: \"#FF00FF\",\n  //...etc\n})\n  .then(console.log)\n  .catch(console.log);\n\n// or\n\npickPlace().then(console.log).catch(console.log);\n```\n\n### Result\n\n```ts\n\n{\n    /**\n     * @description Selected coordinate.\n     */\n    coordinate: PlacePickerCoordinate;\n    /**\n     * @description Geocoded address for selected location.\n     * @if `enableGeocoding: true`\n     */\n    address?: PlacePickerAddress;\n    /**\n     * @description Did cancel the place picker window without selecting.\n     */\n    didCancel: boolean;\n}\n\n```\n\n### PlacePickerOptions\n\n| Property             | Type                                     | Description                                                                           | Default                                     |\n| -------------------- | ---------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------- |\n| `presentationStyle`  | `PlacePickerPresentationStyle` \\| string | Presentation style of the place picker window. **iOS only**                           | `'fullscreen'`                              |\n| `title`              | `string`                                 | The title of the place picker window.                                                 | `'Choose Place'`                            |\n| `searchPlaceholder`  | `string`                                 | Placeholder for the search bar in the place picker window.                            | `'Search...'`                               |\n| `color`              | `string`                                 | Primary color of the theme (map pin, shadow, etc.).                                   | `'#FF0000'`                                 |\n| `contrastColor`      | `string`                                 | Contrast color for the primary color.                                                 | `'#FFFFFF'`                                 |\n| `locale`             | `string`                                 | Locale for the returned address.                                                      | `'en-US'`                                   |\n| `initialCoordinates` | `PlacePickerCoordinate`                  | Initial map position.                                                                 | `{ latitude: 25.2048, longitude: 55.2708 }` |\n| `enableGeocoding`    | `boolean`                                | geocoding for the selected address.                                                   | `true`                                      |\n| `enableSearch`       | `boolean`                                | search bar for searching specific positions.                                          | `true`                                      |\n| `enableUserLocation` | `boolean`                                | current user position button. Requires setup.                                         | `true`                                      |\n| `enableLargeTitle`   | `boolean`                                | large navigation bar title of the UIViewController. **iOS only**                      | `true`                                      |\n| `rejectOnCancel`     | `boolean`                                | Reject and return nothing if the user dismisses the window without selecting a place. | `true`                                      |\n\n### PlacePickerPresentationStyle\n\n| Enum Value   | Description                            |\n| ------------ | -------------------------------------- |\n| `modal`      | Presentation style as a modal window.  |\n| `fullscreen` | Presentation style in fullscreen mode. |\n\n### PlacePickerAddress\n\n| Property     | Type     | Description                 |\n| ------------ | -------- | --------------------------- |\n| `name`       | `string` | Name of the location.       |\n| `streetName` | `string` | Street name of the address. |\n| `city`       | `string` | City of the address.        |\n| `state`      | `string` | State of the address.       |\n| `zipCode`    | `string` | Zip code of the address.    |\n| `country`    | `string` | Country of the address.     |\n\n### PlacePickerCoordinate\n\n| Property    | Type     | Description                |\n| ----------- | -------- | -------------------------- |\n| `latitude`  | `number` | Latitude of the location.  |\n| `longitude` | `number` | Longitude of the location. |\n\n### PlacePickerResults\n\n| Property     | Type                    | Description                                                    |\n| ------------ | ----------------------- | -------------------------------------------------------------- |\n| `coordinate` | `PlacePickerCoordinate` | Selected coordinate.                                           |\n| `address`    | `PlacePickerAddress`    | Geocoded address for selected location (if `enableGeocoding`). |\n| `didCancel`  | `boolean`               | Indicates if the place picker was canceled without selecting.  |\n\n## Contributing\n\nSee the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fb0iq%2Freact-native-place-picker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fb0iq%2Freact-native-place-picker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fb0iq%2Freact-native-place-picker/lists"}