Так что я меняю геолокацию, теперь я использую геолокацию с 'react-native-geolocation-service'
.Таким образом, моя проблема теперь не уверена, правильны ли мои коды PermissionsAndroid, потому что не отображается диалоговое окно Permission of location.Каждый раз, когда я нажимаю кнопку «Разрешение на местоположение не предоставлено», оно отображается в console.log, поэтому это означает, что разрешение не предоставлено.Как я уже сказал, диалоговое окно «Разрешения» не отображается.
Я хочу, чтобы вы, ребята, проверили мои коды, если есть ошибки.Вот мои коды:
hasLocationPermission = () => {
try{
const granted = PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
{
title: 'Location Permission',
message: 'You must to accept this to make it work.'
}
)
if(granted === PermissionsAndroid.RESULTS.GRANTED){
console.log('Location permission accepted.')
}else{
console.log("Location permission denied")
}
} catch (err) {
console.warn(err)
}
}
getUserLocationHandler = () => {
if(this.hasLocationPermission){
Geolocation.getCurrentPosition(
position => {
this.setState({
userLocation: {
latitude: position.coords.latitude,
longitude: position.coords.longitude,
latitudeDelta: 0.0622,
longitudeDelta: 0.0421,
},
});
},
err => console.log(err),
{
enableHighAccuracy: true,
timeout: 15000,
maximumAge: 10000
}
);
}
}
render() {
return (
<View style={styles.container}>
<FetchLocation onGetLocation={this.getUserLocationHandler}/>
<UsersMap userLocation={this.state.userLocation}/>
</View>
);
}
"FetchLocation" - это кнопка, а "UsersMap" - это карта.
Если вы, ребята, знаете, как открыть диалог разрешений доприложение, открытое как приложение Grab, было бы лучше.Спасибо!
Если вы хотите увидеть что-то еще в моих кодах или в моем build.gradles, не стесняйтесь спрашивать.Спасибо!