I'm using navigator.geolocation.getCurrentPosition() in react native and it's working fine.
But i would like to be able to react nicely if location services are turned off (a dialog box that leads the user to settings).
I found that plugin for android and i think it's going to work fine :
https://www.npmjs.com/package/react-native-android-location-services-dialog-box 
How should i do in iOS ?
            Asked
            
        
        
            Active
            
        
            Viewed 4,585 times
        
    0
            
            
        
        alexandre
        
- 195
 - 4
 - 15
 
1 Answers
-1
            
            
        EDIT
You can use this very well done 3rd party library
and then use it like this :
Location.getAuthorizationStatus((authorization) => {
  console.log(authorization)
});
Previous answer
getCurrentPosition can take an error callback. This will be triggered if the location is not enabled.
You can do something like:
navigator.geolocation.getCurrentPosition(
  (position) => {
    this.setState({ position });
  },
  (error) => {
    console.log(alert);
  },
  {enableHighAccuracy: true, timeout: 20000, maximumAge: 1000}
);
You can check the docs for more informations.
        G. Hamaide
        
- 7,078
 - 2
 - 36
 - 57
 
- 
                    1thank you, i checked that but the error does not seam to return a clear error code that allows to determine the source of the error... – alexandre Apr 11 '17 at 12:11
 - 
                    In addition to that, this doesn't help openning OS parameters – alexandre Apr 11 '17 at 12:12
 - 
                    To open the settings in ios, you can use : `Linking.openURL('app-settings:')`. More info [here](http://stackoverflow.com/questions/39081688/open-settings-app-from-another-app-in-ios-react-native) – G. Hamaide Apr 11 '17 at 12:14
 - 
                    @alexandre you can also us the library I added in my answer. – G. Hamaide Apr 11 '17 at 12:17
 - 
                    Yeah, cool thanks ! And do you have any idea how to sort error types ? like error because, location is not authorized for your app, error because location is off, error because couldn't retrive location, error timeout... – alexandre Apr 11 '17 at 12:23
 - 
                    You have a list of status [here](https://github.com/timfpark/react-native-location#locationgetauthorizationstatus) that already gives you some info on the reason you could not get the location. It's all the info you'll get I fear. – G. Hamaide Apr 11 '17 at 12:38