Я имел дело с этой ошибкой в течение 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" />
Не стесняйтесь спрашивать, хотите ли вы какие-нибудь коды или что-нибудь проверить.