0

I'm using create react native app to run this app but not yet ejected (I've backed up just in case). I've tried ejecting this project but the error still occurs.

I already added the code below in the AndroidManifest.xml.

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

I don't know if the AndroidManifest.xml in my project is right because I added this code in the

\node_modules\react-native-maps\lib\android\src\main\AndroidManifest.xml

Here's my code:

watchID = null
componentDidMount(){
    navigator.geolocation.getCurrentPosition((position) => {
        var lat = parseFloat(position.coords.latitude);
        var long = parseFloat(position.coords.longitude);

        var initialRegion = {
            latitude: lat,
            longitude: long,
            latitudeDelta: latitude_Delta,
            longitudeDelta: longitude_Delta,
        }

        this.setState({initialPosition: initialRegion});
        this.setState({markerPosition: initialRegion});
        },
        (error) => {alert('Current Location: ERROR(' + error.code + '): ' + error.message)},
        {enableHighAccuracy: true, timeout: 20000, maximumAge: 1000}
    )

    this.watchID = navigator.geolocation.watchPosition((position) => {
        var lat = parseFloat(position.coords.latitude);
        var long = parseFloat(position.coords.longitude);
        var lastRegion = {
            latitude: lat,
            longitude: long,
            latitudeDelta: latitude_Delta,
            longitudeDelta: longitude_Delta,
        }
        this.setState({initialPoisition: lastRegion});
        this.setState({markerPosition: lastRegion});  
    },
    (error) => {alert('Watch Position: ERROR(' + error.code + '): ' + error.message)},
    {enableHighAccuracy: true, timeout: 20000, maximumAge: 1000, distanceFilter: 10 }) 
}

componentWillUnmount(){
    navigator.geolocation.clearWatch(this.watchID)
}
Venki WAR
  • 1,997
  • 4
  • 25
  • 38
PJ Concepcion
  • 108
  • 1
  • 13

1 Answers1

0

its working for me,

_this.watchID = navigator.geolocation.watchPosition((position) => {
            console.log(TAG + "position : " + JSON.stringify(position));
            var gps_location = position.coords.latitude + "," + position.coords.longitude;
            console.log(TAG + "gps_location : " + JSON.stringify(gps_location));
          }, error => {
            console.log(TAG + " error in getting location " + error);            
          }, {
              enableHighAccuracy: false, timeout: 20000, maximumAge: 1000
            });