react-native-maps-expo-plugin

1.0.4 • Public • Published

react-native-maps-expo-plugin

Expo Config Plugin for setting up Google Maps in react-native-maps on iOS. Created specifically to support Continuous Native Generation (CNG) workflow.

What is CNG?

Continuous Native Generation (CNG) is a process for building an Expo app where your native projects are generated on-demand from your app.json and package.json, similar to how your node_modules are generated from your package.json.

You can add the native project directories (android and ios) to your .gitignore and/or delete the project at any time, then re-generate them from the Expo app config with npx expo prebuild whenever required. You might never even run prebuild on your own development machine if you use a cloud-based development workflow.

Using CNG can make upgrading to new versions of React Native much easier. It can simplify project maintenance and facilitate setting up complex features such as App Clips, share extensions, and push notifications. This is all made possible with config plugins. Learn more about CNG.

Why this plugin exists

The official react-native-maps installation requires manual modifications to native iOS files that get wiped out when using CNG (npx expo prebuild --clean). This plugin automatically handles:

  • Adding Google Maps pod to Podfile
  • Adding location permission to Info.plist
  • Initializing Google Maps in AppDelegate

Why this is better than tweaking the generated native files yourself:

Here's Expo documentation on why tweaking the files yourself is not a good idea: docs.expo.dev/workflow/overview/#what-if-i-want-to-edit-the.

In other words, it will do the react-native-maps installation instructions for you every time, so you can keep enjoying CNG!

Installation

npm install react-native-maps react-native-maps-expo-plugin

Usage

  1. Add plugin to your app.json/app.config.js:
{
  "plugins": [
    [
      "react-native-maps-expo-plugin",
      {
        "googleMapsApiKey": "YOUR_GOOGLE_MAPS_API_KEY"
      }
    ]
  ]
}
  1. Generate native code and build:
# Generate native code
npx expo prebuild

# Build and run on iOS
npx expo run:ios

# Or if using CNG workflow, use --clean to safely regenerate native files
npx expo prebuild --clean
npx expo run:ios

Requirements

  • Expo SDK 50 or newer
  • react-native-maps installed in your project

Getting your Google Maps API Key

  1. Go to Google Cloud Console
  2. Create or select a project
  3. Enable Maps SDK for iOS
  4. Create credentials (API key)
  5. Add restrictions to the API key (recommended)

License

MIT

Package Sidebar

Install

npm i react-native-maps-expo-plugin

Weekly Downloads

93

Version

1.0.4

License

none

Unpacked Size

5.68 kB

Total Files

3

Last publish

Collaborators

  • davidalejandro