Тайм-аут запроса местоположения в Get Current Location - PullRequest
0 голосов
/ 02 мая 2018

Я использую приложение для создания собственного реагирования , чтобы запустить это приложение, но еще не извлечено (на всякий случай я создал резервную копию). Я пытался извлечь этот проект, но ошибка все еще происходит.

Я уже добавил приведенный ниже код в AndroidManifest.xml.

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

Я не знаю, подходит ли AndroidManifest.xml в моем проекте, потому что я добавил этот код в

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

Вот мой код:

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)
}

1 Ответ

0 голосов
/ 02 мая 2018

это работает для меня,

_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
            });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...