Положение пользователя не отображается в приложении React Native. - PullRequest
0 голосов
/ 15 октября 2018

Я имел дело с этой ошибкой в ​​течение 2 дней, но все еще не могу найти решение для нее.Поэтому я решил разместить его здесь, в переполнении стека.Кстати, я использую физическое устройство с версией Android 8.1

. Это ошибка, которую я получаю в своей консоли:

"console.error: {TIMEOUT ': 3, "POSITION_UNAVAILABLE": 2, "PERMISSION_DENIED": 1, "message": "Тайм-аут запроса местоположения", "code": 3}

Это код:

state = {
        focusedLocation: {
            latitude: 37.7900352,
            longitude: -122.4013726,
            latitudeDelta: 0.0122,
            longitudeDelta: (Dimensions.get('window').width / Dimensions.get('window').height) * 0.0122,
        },
        //this is for the marker location
        locationChosen: false,
    };

getUserLocationHandler = () => {
        navigator.geolocation.getCurrentPosition(
            pos => {
                const coordsEvent = {
                    nativeEvent: {
                        coordinate: {
                            latitude: pos.coords.latitude,
                            longitude: pos.coords.longitude,
                        },
                    },
                };
                this.pickLocationHandler(coordsEvent);
            },
            err => {
                console.log(err);
                alert('Tangina mo bobo');
            },
            {
                enableHighAccuracy: true,
                timeout: 10000,
                maximumAge: 0,
            }
        );
    }


render() {
        let marker = null;
        if (this.state.locationChosen) {
            marker = <MapView.Marker coordinate={this.state.focusedLocation} />;
        }
        return (
            <View style={styles.container}>
                <MapView
                    initialRegion={this.state.focusedLocation}
                    style={styles.map}
                    onPress={this.pickLocationHandler}
                    ref={ref => (this.map = ref)}
                >
                    {marker}
                </MapView>
                <View style={styles.button}>
                    <Button title="Locate me!" onPress={this.getUserLocationHandler} />
                </View>
            </View>
        );
    }

Это мое разрешение в манифесте Android:

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

Не стесняйтесь спрашивать, хотите ли вы какие-нибудь коды или что-нибудь проверить.

...