react-native-android-google-location
Location acquisition through Google Play Services.
Add Google Play Services to Your Project
To make the Google Play services APIs available to your app:
-
Open the build.gradle file inside your application module directory (app/build.gradle).
-
Add a new build rule under dependencies for the latest version of play-services, using one of the APIs listed below. Ensure that your top-level build.gradle contains a reference to the google() repo or to maven { url "https://maven.google.com" }
-
Save the changes, and click Sync Project with Gradle Files in the toolbar. Check here
Getting started
$ npm install react-native-android-google-location --save
Mostly automatic installation
$ react-native link react-native-android-google-location
Manual installation
Android
- Open up
android/app/src/main/java/[...]/MainActivity.java
- Add
import co.twinger.gglocation.RNAndroidGoogleLocationPackage;
to the imports at the top of the file - Add
new RNAndroidGoogleLocationPackage()
to the list returned by thegetPackages()
method
- Append the following lines to
android/settings.gradle
:include ':react-native-android-google-location' project(':react-native-android-google-location').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-android-google-location/android')
- Insert the following lines inside the dependencies block in
android/app/build.gradle
:compile project(':react-native-android-google-location')
Add Permissions and used Google API to your Project
Add this to your AndroidManifest file;
// file: android/app/src/main/AndroidManifest.xml
Make sure this goes at the bottom of the <application>
tag.
Usage
; { superprops; thisstate = lng: 00 lat: 00 ; if !thiseventEmitter // Register Listener Callback - has to be removed later thiseventEmitter = DeviceEventEmitter; // Initialize RNGLocation RNAndroidGoogleLocation; } { this; } { // Stop listening for Events thiseventEmitter; } { return <View style=stylescontainer> <Text style=styleslocation> Lng: thisstatelng Lat: thisstatelat </Text> </View> ; }