Истекло время ожидания запроса местоположения в Get Current Location

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

Я уже добавил приведенный ниже код в 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)
}

Попробуйте установить enableHighAccuracy:false, а также удалив maximumAge

Pritish Vaidya 02.05.2018 09:12

По-прежнему возникает ошибка.

GamingRuru 02.05.2018 09:19
0
2
1 855
1

Ответы 1

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

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

Моя проблема возникает в getCurrentPosition.

GamingRuru 02.05.2018 11:46

watchPosition () вы можете использовать этот метод. он даст вам текущее местоположение.

Android Team 02.05.2018 11:58

моя позиция не меняется

GamingRuru 02.05.2018 12:05

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

Android Team 02.05.2018 12:10

но проект, который я создаю, необходим для отслеживания местоположения пользователя

GamingRuru 02.05.2018 12:13

Другие вопросы по теме