diff --git a/src/index.ts b/src/index.ts
index 83f9dc8455..8a042898b4 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -64,6 +64,7 @@ import { IsDebug } from './plugins/is-debug';
 import { Keyboard } from './plugins/keyboard';
 import { LaunchNavigator } from './plugins/launchnavigator';
 import { LocalNotifications } from './plugins/localnotifications';
+import { LocationAccuracy } from './plugins/location-accuracy';
 import { MediaCapture } from './plugins/media-capture';
 import { NativeAudio } from './plugins/native-audio';
 import { NativePageTransitions } from './plugins/native-page-transitions';
@@ -98,7 +99,7 @@ import { ThreeDeeTouch } from './plugins/3dtouch';
 import { Toast } from './plugins/toast';
 import { TouchID } from './plugins/touchid';
 import { TextToSpeech } from './plugins/text-to-speech';
-import {ThemableBrowser} from './plugins/themable-browser';
+import { ThemableBrowser } from './plugins/themable-browser';
 import { TwitterConnect } from './plugins/twitter-connect';
 import { Vibration } from './plugins/vibration';
 import { VideoEditor } from './plugins/video-editor';
@@ -188,6 +189,7 @@ Insomnia,
 Instagram,
 IsDebug,
 Keyboard,
+LocationAccuracy,
 MusicControls,
 NativeAudio,
 NativeStorage,
@@ -278,6 +280,7 @@ window['IonicNative'] = {
   Keyboard,
   LaunchNavigator,
   LocalNotifications,
+  LocationAccuracy,
   Market,
   MediaCapture,
   MediaPlugin,
diff --git a/src/plugins/location-accuracy.ts b/src/plugins/location-accuracy.ts
new file mode 100644
index 0000000000..b99f2405e9
--- /dev/null
+++ b/src/plugins/location-accuracy.ts
@@ -0,0 +1,66 @@
+import {Plugin, Cordova} from './plugin';
+/**
+ * @name LocationAccuracy
+ * @description
+ * This Cordova/Phonegap plugin for Android and iOS to request enabling/changing of Location Services by triggering a native dialog from within the app, avoiding the need for the user to leave your app to change location settings manually.
+ *
+ * @usage
+ * ```
+ * import { LocationAccuracy } from 'ionic-native';
+ *
+ * LocationAccuracy.canRequest().then((canRequest: boolean) => {
+ *
+ *   if(canRequest) {
+ *     // the accuracy option will be ignored by iOS
+ *     LocationAccuracy.request(LocaitonAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY).then(
+ *       () => console.log('Request successful'),
+ *       error => console.log('Error requesting location permissions', error)
+ *     );
+ *   }
+ *
+ * });
+ *
+ * ```
+ */
+@Plugin({
+  plugin: 'cordova-plugin-request-location-accuracy',
+  pluginRef: 'cordova.plugins.locationAccuracy',
+  repo: 'https://github.com/dpa99c/cordova-plugin-request-location-accuracy'
+})
+export class LocationAccuracy {
+  /**
+   * Indicates if you can request accurate location
+   * @returns {Promise<boolean>} Returns a promise that resovles with a boolean that indicates if you can request accurate location
+   */
+  @Cordova()
+  static canRequest(): Promise<boolean> { return; }
+
+  /**
+   * Indicates if a request is currently in progress
+   * @returns {Promise<boolean>} Returns a promise that resolves with a boolean that indicates if a request is currently in progress
+   */
+  @Cordova()
+  static isRequesting(): Promise<boolean> { return; }
+
+  /**
+   * Requests accurate location
+   * @returns {Promise<any>} Returns a promise that resolves on success and rejects if an error occurred
+   */
+  @Cordova({ callbackOrder: 'reverse' })
+  static request(accuracy: string): Promise<any> { return; }
+
+  static REQUEST_PRIORITY_NO_POWER = 0;
+  static REQUEST_PRIORITY_LOW_POWER = 1;
+  static REQUEST_PRIORITY_BALANCED_POWER_ACCURACY = 2;
+  static REQUEST_PRIORITY_HIGH_ACCURACY = 3;
+  static SUCCESS_SETTINGS_SATISFIED = 0;
+  static SUCCESS_USER_AGREED = 1;
+  static ERROR_ALREADY_REQUESTING = -1;
+  static ERROR_INVALID_ACTION = 0;
+  static ERROR_INVALID_ACCURACY = 1;
+  static ERROR_EXCEPTION = 1;
+  static ERROR_CANNOT_CHANGE_ACCURACY = 3;
+  static ERROR_USER_DISAGREED = 4;
+  static ERROR_GOOGLE_API_CONNECTION_FAILED = 4;
+
+}